Aller au contenu

Connecter un fournisseur OpenID Connect

Utilisez ce guide lorsque votre fournisseur d’identité parle OpenID Connect plutôt que SAML. Tout émetteur certifié OIDC fait l’affaire — Pocket ID, Keycloak, Auth0, Zitadel, Google Workspace et les autres suivent tous les mêmes étapes ; seul l’endroit où votre fournisseur affiche les valeurs diffère.

  • un fournisseur OIDC où vous pouvez créer un client — notez son ID client et son URL de l’émetteur (la base sous laquelle se trouve le document .well-known/openid-configuration), ainsi que son secret client lorsque le client est de type confidentiel (les clients publics PKCE n’en ont pas),
  • un serveur Control Center que vous administrez (le propriétaire du serveur).
  1. Ouvrez Paramètres → Serveur → Authentification unique et basculez vers OpenID Connect.
  2. Remplissez l’URL de l’émetteur, l’ID client et le Secret client (facultatif) lorsque le fournisseur en a émis un. Control Center découvre les points de terminaison à partir du document de découverte standard de l’émetteur — aucune configuration par fournisseur.
  3. Chez le fournisseur, enregistrez la redirection https://<your-server>/oidc/callback sur ce client.
  4. Si vos groupes se trouvent sous un claim autre que groups, définissez le nom du Claim des groupes ; associez des groupes à des rôles si vous le souhaitez (l’authentification unique ne peut jamais accorder le rôle propriétaire).
  5. Choisissez la politique d’adhésion (ajout automatique à tous les espaces de travail, ou invitation requise pour chaque espace de travail), activez Utiliser OpenID Connect pour la connexion et appuyez sur Enregistrer la connexion.
  6. Appuyez sur Tester la connexion — le serveur récupère le document de découverte de l’émetteur et confirme ses points de terminaison, de sorte qu’un bandeau vert signifie que tout fonctionne, sauf l’aller-retour dans le navigateur. Pour vérifier aussi l’enregistrement du client, utilisez le vérificateur ci-dessous.
  7. Tentez une connexion : l’écran de connexion web affiche Se connecter avec OpenID Connect, ou ouvrez https://<your-server>/oidc/login directement.

Les claims (courriel, nom, groupes) sont lus par votre serveur auprès du point de terminaison de jetons de l’émetteur, au moyen de TLS — le navigateur ne les fournit jamais, donc aucune vérification locale de signature JWT n’entre en jeu. Le client doit être autorisé à demander la portée openid profile email, soit exactement ce que Control Center demande.

Comme ce canal TLS est la seule chose qui authentifie les claims, l’URL de l’émetteur doit être en https — un émetteur en clair permettrait à n’importe quel attaquant placé sur le chemin de fabriquer des identités en masse. http n’est accepté que pour les émetteurs de bouclage (localhost, 127.0.0.1, ::1), pour le développement local.

Vérifier votre configuration à partir de cette page

Section intitulée “Vérifier votre configuration à partir de cette page”

Le vérificateur ci-dessous s’exécute dans votre navigateur. Il récupère directement le document de découverte de votre émetteur, de sorte que ce site ne le voit jamais, et applique les règles du serveur : un émetteur en https qui correspond au document, des points de terminaison sur l’origine propre de l’émetteur, PKCE S256 et la méthode d’authentification des jetons qu’exige votre type de client. Avec un ID client et l’adresse du serveur, il peut ouvrir une connexion d’essai qui montre si le client et son URI de redirection sont enregistrés. Il ne demande jamais le secret client.

Runs in your browserYour browser fetches the discovery document straight from your issuer. Add a server address and it also asks that server which sign-in methods it offers. This site never receives what you type.

Needed for the test sign-in.

Client type

Never paste the secret here. The check only needs to know whether one exists.

The address your users open. Adds a reachability check and a test sign-in.

Paste the discovery document instead

For providers that block other sites from reading it.