Skip to main content

Install Keycloak plugin for NEMO

Project description

NEMO plugin to add Keycloak support to your NEMO instance.

http://www.keycloak.org/

Keycloak

The following example are using the docker image.

start Keycloak

docker run –name keycloak jboss/keycloak:10.0.2

add admin user

docker exec -it keycloak /opt/jboss/keycloak/bin/add-user-keycloak.sh -u admin

in Keycloak, add your Realm “NEMO” then create a client “nemo-client”, select confidential access-type, set the ‘Root URL’ to your nemo URL (without trailing slash) and set the ‘Valid Redirect URIs’ to ‘/login-complete’ add users in Keycloak with matching username in NEMO

Usage

install library

pip install NEMO-keycloak

add to your INSTALLED_APPS:

‘NEMO_keycloak’,

add middleware:

‘NEMO_keycloak.middleware.BaseKeycloakMiddleware’,

add backend:

AUTHENTICATION_BACKENDS = [‘NEMO_keycloak.auth.backends.KeycloakAuthorizationCodeBackend’]

add to context_processors:

‘NEMO.context_processors.show_logout_button’,

add (if needed based on your keycloak config):

KEYCLOAK_TOKEN_USERNAME_FIELD = “preferred_username”

in NEMO, run:

python manage.py migrate NEMO_Keycloak

python manage.py keycloak_create_realm <REALM_name> <server_URL> <client_id> <secret>

Known Issue

Keycloak has a known issue with audience, to fix it update your client scope “roles” and add a mapper type audience with nemo client name in it

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

NEMO_keycloak-1.3.1-py3-none-any.whl (47.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page