Création du client KeyCloak
Dans le menu client cliquer sue « Create client ».
Saisir les informations du client
Cliquer sur "Next"
Cliquer sur "Next"
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 attribute 'X509_V_FLAG_CB_ISSUER_CHECK'", vous devrez mettre à jour la bibliothèque OpenSSL de Python