OIDC avec Workspace

OpenID Connect OIDC est un protocole d’identité basé sur OAuth 2.0 qui permet une authentification et une autorisation sécurisées pour les applications web et mobiles.
Il permet aux utilisateurs de se connecter en toute sécurité à divers services, tandis que les fournisseurs de services peuvent simultanément accéder à des informations d’identité vérifiées.

Ce guide explique la configuration d’OIDC dans Relution à l’aide de l’exemple de Google Workspace.

Remarque : Lors de la connexion via OIDC, aucune classe ni aucun groupe n’est synchronisé. Seul l’utilisateur qui s’est connecté avec succès au moins une fois est créé dans Relution.


Configuration du projet et du client (Google Cloud Console)

Tout d’abord, une application doit être enregistrée dans la Google Cloud Console afin d’obtenir les identifiants nécessaires.

  1. Connectez-vous sur console.cloud.google.com →.

  2. Créez un nouveau projet ou sélectionnez-en un existant.

    Créer ou sélectionner un nouveau projet dans la Google Cloud Console

    Saisir et confirmer les détails du projet dans la Google Cloud Console

  3. Dans le menu, accédez à APIs & Services > OAuth consent screen et configurez cet écran si nécessaire.

    Configurer l’écran de consentement OAuth dans la Google Cloud Console sous APIs et Services

  4. Passez à Credentials, cliquez sur Create Credentials et sélectionnez OAuth client ID.

    Créer un OAuth Client ID dans la Google Cloud Console sous Credentials

  5. Sélectionnez Web application comme Application type.

    Sélectionner Web application comme Application type pour le client OAuth dans Google Cloud

  6. Renseignez votre URL de serveur sous Authorized JavaScript origins (par ex. https://support.relution.io). Remarque : laissez pour l’instant le champ Authorized redirect URIs vide ou renseignez-y provisoirement l’URL ; il sera mis à jour plus tard avec un chemin spécifique provenant de Relution.

    Saisir l’URL du serveur comme Authorized JavaScript Origin dans le client OAuth Google Cloud

  7. Après l’enregistrement, le Client ID est affiché. Copiez-le.

    Copier le Client ID généré après l’enregistrement dans la Google Cloud Console

  8. Modifiez à nouveau le client nouvellement créé pour consulter les détails.

    Ouvrir le client OAuth créé dans la Google Cloud Console pour la vue détaillée

  9. Copiez le Client Secret. Conservez l’ID et le secret en sécurité pour une utilisation ultérieure dans Relution.

    Copier le Client Secret depuis les détails du client OAuth dans la Google Cloud Console


Configuration du SSO (Google Admin Console)

Parallèlement, le profil Single Sign-On (SSO) doit être enregistré dans la console d’administration Google.

  1. Accédez à la Google Admin Console →.

  2. Créez un nouveau profil OIDC sous Security > Authentication > SSO with third-party IdP.

    Créer un profil SSO avec OIDC dans la Google Admin Console sous Security Authentication

  3. Saisissez le Client ID et le Client Secret obtenus au chapitre précédent.

    • Utilisez votre URL de serveur Relution (par ex. https://support.relution.io) pour l’Issuer URL ainsi que pour la Change password URL.
      Enregistrer le Client ID et le Client Secret dans le profil OIDC de la Google Admin Console

Configuration d’OIDC dans Relution

Les données rassemblées sont maintenant saisies dans Relution afin d’établir le lien avec Google.

  1. Ouvrez dans Relution les paramètres OIDC sous Paramètres → OpenID Connect.

    Ouvrir les paramètres OIDC dans Relution sous OpenID Connect

  2. Saisissez le Client ID et le Client Secret dans les champs correspondants.

  3. Sous Server URIs > Discovery Endpoint, utilisez l’URL suivante : https://accounts.google.com.

  4. Enregistrez brièvement la configuration puis rouvrez-la pour voir les champs générés.

  5. Copiez l’URL de redirection désormais affichée dans les paramètres Relution.

    Copier l’URL de redirection générée depuis les paramètres OIDC de Relution

  6. Retournez sur la Google Cloud Console →.

  7. Modifiez votre client OAuth et mettez à jour le champ Authorized redirect URIs avec l’URL que vous venez de copier depuis Relution.

    Saisir l’URL de redirection Relution comme Authorized Redirect URI dans le client OAuth Google

Remarque de migration — URI de redirection avec portée (à partir de 26.4.0). Avec 26.4.0, le schéma des URI de redirection a changé : les callbacks de connexion sont désormais scopés, afin de pouvoir être sécurisés par chemin sur le reverse proxy à l’avenir. Les URI de redirection que vous devez enregistrer dépendent donc de votre version de Relution.

Où les trouver : les URI de redirection exactes pour votre instance sont affichées dans le portail Relution sous Paramètres → OpenID Connect dès que la connexion a été enregistrée. Copiez-les depuis cet endroit plutôt que de les reconstituer manuellement.

Avant 26.4 (héritée — une seule URI de redirection) :

https://<host>/login/oauth2/code/<registrationId>

À partir de 26.4 (avec portée — enregistrer toutes celles qui s’appliquent) :

https://<host>/api/management/login/oauth2/code/<registrationId>
https://<host>/api/device/login/oauth2/code/<registrationId>
https://<host>/api/teacher/login/oauth2/code/<registrationId>          # licence Education uniquement

Lors de la mise à jour, ajoutez les URI scopées à votre client OAuth Google existant. L’URI héritée continue de fonctionner, mais elle est obsolète et sera supprimée dans une future version. <registrationId> est l’UUID de configuration OIDC affiché dans Relution.


Remarques

Backchannel Logout

Relution prend en charge le Backchannel Logout à partir de la version serveur 5.32.0.

Scénario : Un utilisateur est connecté simultanément à plusieurs applications via SSO. Dès que la déconnexion du service SSO central a lieu, le Backchannel Logout garantit que les sessions dans Relution et les autres applications connectées en arrière-plan sont également terminées de manière sécurisée.

Vérification de la déconnexion

Vérifiez les deux voies de déconnexion avant la mise en service :

  • Déconnexion front-channel : L’utilisateur clique sur « Se déconnecter » dans Relution — la session est révoquée et le navigateur est redirigé vers le point de terminaison de déconnexion de l’IdP.
  • Déconnexion back-channel : L’IdP envoie une notification de déconnexion à Relution — la session est révoquée sans intervention de l’utilisateur.

Testez les deux voies pour vous assurer qu’une fin de session initiée par l’IdP (par ex. via la console d’administration de l’IdP) est correctement transmise à Relution.

Top