Skip to main content
Version: 2.0

SSO Authentication - OpenID Connect

Configuration

OpenID Connect

L'écran Ajouter un nouveau fournisseur de service est découpé en deux parties :

  • Paramètres généraux
    • Nom est le nom choisi pour ce Service provider. Ce nom devra être répercuté dans le champs "Oauth2 redirect URI".
    • Authentication URL est l'URL du formulaire de login du service d'authentification externe. L'URL doit être complète, c'est à dire qu'elle doit inclure l'ID client, l'URL de redirection vers Regards ou autres paramètres requis pas le fournisseur de service d'authentification externe.
    • Logout URL est l'URL du formulaire de logout du service d'authentification externe.
  • Paramètres spécifiques au plugin OpenID Connect
    • Libillé est un alias donné à la configuration du plugin OpenID Connect créée pour ce Service provider.
    • Client Id est l'identifiant client répertoriant Regards en tant qu'utilisateur du Service provider auprès sur fournisseur de service d'authentification externe.
    • Client Secret est le code secret associé à l'identifiant client ci-dessus, délivré par le fournisseur de service d'authentification externe.
    • token endpoint URL est l'URL du endpoint HTTP du service d'authentification externe permettant de récupérer un token Oauth2.
    • Oauth2 redirect URI est l'URL vers la page de redirection utilisée par le fournisseur de service externe pour renvoyer le navigateur de l'utilisateur sur Regards après une authentification réussie.
    • user info endpoint URL est l'URL du endpoint HTTP du service d'authentification externe permettant de récupérer les informations de l'utilisateur connecté.
    • Email mapping field est le nom du champs JSON présent dans la réponse à un appel au endpoint "user info" permettant à Regards de récupérer l'adresse email de l'utilisateur.
    • Firstname mapping field est le nom du champs JSON présent dans la réponse à un appel au endpoint "user info" permettant à Regards de récupérer le prénom de l'utilisateur.
    • Lastname mapping field est le nom du champs JSON présent dans la réponse à un appel au endpoint "user info" permettant à Regards de récupérer le nom de l'utilisateur.
    • revoke endpoint URL est l'URL du endpoint HTTP du service d'authentification externe permettant d'invalider le token Oauth2 en fin de sessions, lors d'une déconnexion de l'utilisateur.
    • Allow insecure SSL connection permet d'autoriser l'utilisation de serveur SSO non sécurisé via HTTPS. Attention, l'utilisation de cette propriété n'est pas conseillé pour un environement de production

Exemple de configuration avec un serveur keycloak

  • Nom : Keycloak
  • Authentication URL : https://keycloak.cloud-espace.si.c-s.fr/auth/realms/main/protocol/openid-connect/auth?client_id=regards&redirect_uri=https://regards.csgroup.eu/authenticate/project/Keycloak&response_mode=fragment&response_type=code&scope=openid. L'URL d'authentification contient :
    • Le endpoint keycloak : https://keycloak.cloud-espace.si.c-s.fr/auth/realms/main/protocol/openid-connect/auth
    • client_id=regards : L'identifiant du client configuré sur keycloak pour permettre a REGARDS de s'authentifier sur keycloak
    • redirect_uri : http://regards.csgroup.eu/authenticate/{regards project name}/{openId conf name}. L'adresse de redirection après l'authentification. Cette adresse de rediction contient le nom du projet regards courant et le nom de la configuration openId courante
    • response_mode=fragment
    • response_type=code
    • scope=openid
  • Logout URL : https://keycloak.cloud-espace.si.c-s.fr/auth/realms/chronos/protocol/openid-connect/logout?post_logout_redirect_uri=https://regards.csgroup.eu/user/{regards project name}
  • Libellé : Keycloak
  • Client id: regards
  • Client secret: ****
  • Token endpoint : https://keycloak.cloud-espace.si.c-s.fr/auth/realms/main/protocol/openid-connect/token
  • Oauth2 redirect uri : https://regards.csgroup.eu/authenticate/{regards project name}/{openId conf name}>
  • User info endpoint : https://keycloak.cloud-espace.si.c-s.fr/auth/realms/chronos/protocol/openid-connect/userinfo
  • email mapping field : email
  • revoke endpoint : https://keycloak.cloud-espace.si.c-s.fr/auth/realms/chronos/protocol/openid-connect/revoke
  • Allow insecure : false