Mise en place de l’authentification avec Keycloak et OpenID
⚠️ Documentation à tester sur un Pod v4.
Création du client KeyCloak
Dans le menu client, cliquer sur Create client
.
Cliquer sur “Next”.
Cliquer sur “Next”.
Puis sauvegarder.
Ajout d’un client scope UserName
Cliquer sur pod-dedicated
.
Cliquer sur Configure a new mapper
et choisir dans la liste User Property
.
Cliquer sur Sauver
.
Côté POD
Ajout de la conf KeyCloak dans le fichier settings
AUTH_TYPE = (('local', ('local')), ('OIDC', "OIDC"))
USE_OIDC = True
OIDC_NAME = "OPENID KeyCloak"
OIDC_RP_CLIENT_ID = "pod"
OIDC_RP_CLIENT_SECRET = " fatVB6q9KkGx6EoNiGdGJGG7K40gQPUH" (1)
OIDC_OP_AUTHORIZATION_ENDPOINT = https://adresse du serveur KeyCloak.../openid-connect/auth (2)
OIDC_OP_TOKEN_ENDPOINT = " https://adresse du serveur KeyCloak.../openid-connect/token" (2)
OIDC_OP_USER_ENDPOINT = "https://adresse du serveur KeyCloak.../openid-connect/userinfo" (2)
OIDC_RP_SIGN_ALGO = 'RS256'
OIDC_OP_JWKS_ENDPOINT = "https:// https://adresse du serveur KeyCloak.../openid-connect/certs" (2)
OIDC_CREATE_USER = True
OIDC_CLAIM_PREFERRED_USERNAME = "preferred_username"
OIDC_DEFAULT_AFFILIATION = "student"
OIDC_CLAIM_AFFILIATION = "affiliations"
OIDC_CLAIM_PRIMARY_AFFILIATION = "primaryAffiliation"
(1) Crédentials du client KeyCloak
(2) Récupérer les infos dans la configuration OpenID du serveur KeyCloak
⚠️ Remarque : si vous rencontrez l’erreur “module
lib
has no attributeX509_V_FLAG_CB_ISSUER_CHECK
”, vous devrez mettre à jour la bibliothèque OpenSSL de Python.