Install Keycloak plugin for NEMO
Project description
NEMO plugin to add Keycloak support to your NEMO instance.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for NEMO_keycloak-1.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1d7bc1278cb44db57826606c93b9169a78cdb042d6307ef5be42c872034357b |
|
MD5 | 279649735e87f5a4c73c0cfc15f3db5b |
|
BLAKE2b-256 | a4bc76f1330cff51ca65f76fc7c581473e00d37ee1915603f799c0d1b67caf54 |