Comment utiliser B2CORE comme fournisseur d’identité de confiance (OIDC)
Découvrez comment permettre à une application tierce de proposer « Se connecter avec B2CORE » en se connectant à B2CORE comme fournisseur d’identité OpenID Connect (OIDC)
Ce guide s’adresse aux courtiers qui souhaitent permettre à une autre application — leur propre produit, l’application d’un partenaire ou une plateforme d’identité comme Keycloak — d’autoriser les utilisateurs à se connecter avec leur compte B2CORE existant, au lieu de créer une connexion distincte.
B2CORE agit en tant que fournisseur d’identité OpenID Connect (OIDC). Votre application (la partie utilisatrice) redirige les utilisateurs vers B2CORE pour se connecter et reçoit en retour un jeton prouvant leur identité. Les utilisateurs s’authentifient une seule fois avec leur identité B2CORE ; ils ne créent pas de compte distinct pour votre application.
Cela permet la connexion unique (SSO) : les utilisateurs se connectent une fois avec leur compte B2CORE et accèdent à votre application connectée sans connexion distincte.
Cette fonctionnalité comporte des frais de configuration uniques. Contactez votre gestionnaire de compte ou notre équipe d’assistance afin de confirmer les frais et la disponibilité avant de demander l’accès.
Est-ce la solution adaptée ?
Utilisez cette solution si :
- Vous disposez d’une application web ou mobile et souhaitez proposer une option « Se connecter avec B2CORE ».
- Vous souhaitez fédérer B2CORE dans un autre système d’identité que vous utilisez déjà (par exemple, ajouter B2CORE comme fournisseur d’identité dans votre propre domaine Keycloak).
Il s’agit d’OAuth2 / OIDC standard — toute bibliothèque ou plateforme d’identité courante (Keycloak, Auth0, oidc-client-ts, openid-client, go-oidc, Passport, NextAuth, et autres) peut l’utiliser, car tout ce dont le client a besoin est publié dans un document de découverte unique.
Ce que vous devez définir avant de demander l’accès
Préparez les réponses suivantes — votre gestionnaire de compte vous les demandera lors de l’enregistrement de votre application :
| Élément | Ce dont nous avons besoin |
|---|---|
| Nom de l’application | Un nom court et lisible par un humain (pour nos dossiers et tout écran de consentement). |
| URI de redirection | L’URL exacte ou les URL exactes de votre application qui doivent recevoir la réponse de connexion, par exemple https://app.example.com/auth/callback. Elles doivent être exactes — le schéma, l’hôte, le chemin et la barre oblique finale sont tous importants. |
| URI de redirection après déconnexion | L’emplacement où les utilisateurs arrivent après leur déconnexion, par exemple https://app.example.com/. |
| Portées | openid est toujours requis. Ajoutez profile et email si vous avez besoin du nom/de l’e-mail de l’utilisateur. Ajoutez offline_access uniquement si vous avez besoin de jetons d’actualisation à longue durée de vie. |
Ce que vous recevrez de notre part
Une fois votre application enregistrée, vous recevrez :
-
Un Client ID (correspondant au nom de l’application que vous avez fourni).
-
Un Client Secret, transmis via un canal sécurisé. Stockez-le comme vous stockeriez un mot de passe de base de données ; il n’expire pas, mais peut être renouvelé sur demande (voir Bon à savoir).
-
L’URL de découverte OIDC de votre instance B2CORE :
https://<your-api-host>/srvsz/auth/hydra/v1/.well-known/openid-configurationConfigurez votre bibliothèque OIDC avec cette URL unique — elle découvrira elle-même les points de terminaison d’autorisation, de jeton, userinfo, JWKS et de déconnexion. Vous ne devriez pas avoir besoin de coder en dur les différents points de terminaison.
Intégrer votre application
- Configurez votre bibliothèque cliente OIDC avec l’URL de découverte, le Client ID et le Client Secret ci-dessus.
- Utilisez le flux Authorization Code avec PKCE si votre bibliothèque le prend en charge (recommandé pour les applications web et mobiles).
- Demandez uniquement les portées dont vous avez réellement besoin —
openidau minimum, puisprofile,emailetoffline_accessselon le cas. - Pour les informations de profil de l’utilisateur, appelez le point de terminaison
/userinfo(ou décodez leid_token) au lieu d’essayer de lire quoi que ce soit dans l’access_token— le jeton d’accès est opaque et n’est pas destiné à être analysé. - Pour déconnecter un utilisateur, redirigez-le vers le
end_session_endpointdu document de découverte avecid_token_hintet votrepost_logout_redirect_urienregistré.
Vous fédérez plutôt que d’intégrer une application personnalisée ? Si vous ajoutez B2CORE comme fournisseur d’identité dans une autre plateforme d’identité que vous utilisez (par exemple, Keycloak), plutôt que dans une application personnalisée, configurez-le comme fournisseur OpenID Connect générique à l’aide de la même URL de découverte, du même Client ID et du même Client Secret indiqués ci-dessus — les étapes exactes dépendent de votre plateforme. Certaines plateformes utilisent une URL de rappel fixe liée à l’alias de fournisseur que vous choisissez (le point de terminaison de courtier de Keycloak en est un exemple) ; si c’est le cas de la vôtre, convenez de cet alias avec nous avant que nous enregistrions vos URI de redirection, car elles doivent correspondre exactement.
Bon à savoir
La déconnexion est uniquement locale. La redirection vers le point de terminaison de déconnexion met fin à la session de votre application ; elle ne déconnecte pas l’utilisateur de B2CORE lui-même ni de toute autre application à laquelle il est connecté. Il n’existe actuellement aucune option de « déconnexion partout » entre les applications.
Les jetons d’actualisation sont à usage unique. Chaque actualisation renvoie un nouveau jeton d’actualisation qui remplace le précédent — ne réutilisez pas un ancien jeton après une actualisation.
Les URI de redirection doivent correspondre exactement. Ajoutez à votre demande initiale toutes les URL locales/de développement dont vous avez besoin pendant les tests ; les modifier ultérieurement implique de nous contacter à nouveau.
Le renouvellement de votre Client Secret nécessite de contacter l’assistance B2Broker. Entre le moment où nous générons le nouveau secret et celui où vous mettez à jour votre application, les connexions utilisant l’ancien secret échoueront pendant une courte période — planifiez le remplacement durant les heures de faible trafic.
Tests après la configuration
- Déclenchez le flux de connexion depuis votre application (ou votre plateforme d’identité, en cas de fédération) et vérifiez qu’il redirige via la page de connexion de B2CORE.
- Connectez-vous avec un véritable compte B2CORE et vérifiez que vous revenez dans votre application, connecté, avec les informations utilisateur attendues.
- Si vous avez demandé
offline_access, testez l’actualisation d’un jeton. - Testez le flux de déconnexion et vérifiez qu’il efface la session de votre application.
Questions / assistance
Contactez votre gestionnaire de compte B2Broker ou votre canal d’assistance en indiquant le nom de votre courtier et les détails de l’application figurant dans le tableau ci-dessus.
Dernière mise à jour le