Configurer l’inscription et la connexion avec un compte PingOne à l’aide d’Azure Active Directory B2C

Avant de commencer, utilisez le sélecteur Choisir un type de stratégie pour choisir le type de stratégie que vous configurez. Azure Active Directory B2C offre deux possibilités pour définir la façon dont les utilisateurs interagissent avec vos applications : via des flux utilisateurs prédéfinis ou via des stratégies personnalisées entièrement configurables. La procédure donnée dans cet article est différente pour chaque méthode.

Prérequis

Créer une application PingOne

Pour activer la connexion pour des utilisateurs disposant d’un compte PingOne (Ping Identity) dans Azure Active Directory B2C (Azure AD b2c), vous devez créer une application dans la Console Administrateur Ping Identity. Pour plus d’informations, consultez Ajout ou mise à jour d’une application OIDC dans la documentation Ping Identity. Si vous n’avez pas de compte PingOne, vous pouvez vous inscrire à l’adresse https://admin.pingone.com/web-portal/register.

  1. Connectez-vous à la Console Administrateur Ping Identity à l’aide des informations d’identification de votre compte PingOne.
  2. Dans le menu gauche de la page, sélectionnez Connexions, puis, en regard de Applications, sélectionnez +.
  3. Dans la page Nouvelle application, sélectionnez Application web, puis, sous OIDC, sélectionnez Configurer.
  4. Entrez un Nom d’application, puis sélectionnez Suivant.
  5. Pour URL de redirection, entrez https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Si vous utilisez un domaine personnalisé, entrez https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Remplacez your-domain-name par le nom de votre domaine personnalisé et your-tenant-name par le nom de votre locataire. Utilisez uniquement des minuscules quand vous entrez le nom de votre locataire, même si le locataire est défini à l’aide de majuscules dans Azure AD B2C.
  6. Sélectionnez Enregistrer et continuer.
  7. Sous ÉTENDUES, sélectionnez E-mail et Profil, puis choisissez Enregistrer et continuer.
  8. Dans la page Attributs OIDC, sélectionnez Enregistrer et fermer.
  9. Dans la liste des applications, sélectionnez l’application que vous avez créée.
  10. Dans la page Profil de l’application, procédez comme suit :
    1. En regard du nom de l’application, activez l’application à l’aide du bouton bascule.
    2. Copiez les valeurs d’ID client.
  11. Sélectionnez l’onglet Configuration, puis procédez comme suit :
    1. Copiez le point de terminaison de découverte OIDC.
    2. Affichez et copiez la clé secrète client.
    3. Changez le mode en Modifier. Ensuite, pour la Méthode d’authentification du point de terminaison de jeton, modifiez la valeur en Post clé secrète client, puis sélectionnez Enregistrer.

Configurer PingOne en tant que fournisseur d’identité

  1. Si vous avez accès à plusieurs tenants, utilisez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Répertoires + abonnements.

  2. Choisissez Tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.

  3. Sélectionnez Fournisseurs d’identité, puis Nouveau fournisseur OpenID Connect.

  4. Saisissez un Nom. Par exemple, entrez PingOne.

  5. Pour URL de métadonnées, entrez le POINT DE TERMINAISON DE DÉCOUVERTE OIDC que vous avez enregistré précédemment. Par exemple :

    https://auth.pingone.eu/00000000-0000-0000-0000-000000000000/as/.well-known/openid-configuration
    
  6. Pour ID client, entrez l’ID client que vous avez enregistré précédemment.

  7. Dans Clé secrète client, entrez la clé secrète client que vous avez enregistrée précédemment.

  8. Pour Étendue, entrez openid email profile.

  9. Conservez les valeurs par défaut pour Type de réponse et Mode de réponse.

  10. (Facultatif) Pour l'Indication de domaine, entrez pingone.com. Pour plus d’informations, consultez Configurer la connexion directe avec Azure Active Directory B2C.

  11. Sous Mappage des revendications du fournisseur d’identité, sélectionnez les revendications suivantes :

    • ID utilisateur : sub
    • Nom d’affichage : name
    • Prénom : given_name
    • Nom : family_name
    • Adresse e-mail : email
  12. Sélectionnez Enregistrer.

Ajouter un fournisseur d’identité PingOne à un flux d’utilisateur

À ce stade, le fournisseur d’identité PingOne a été configuré, mais il n’est encore disponible dans aucune des pages de connexion. Pour ajouter le fournisseur d’identité PingOne à un flux d’utilisateur :

  1. Dans votre locataire Azure AD B2C, sélectionnez Flux d’utilisateur.
  2. Cliquez sur le flux d’utilisateur auquel vous souhaitez ajouter le fournisseur d’identité PingOne.
  3. Sous Fournisseurs d’identité sociale, sélectionnez PingOne.
  4. Sélectionnez Enregistrer.
  5. Pour tester votre stratégie, sélectionnez Exécuter le flux d’utilisateur.
  6. Pour Application, sélectionnez l’application web testapp1 que vous avez précédemment inscrite. L’URL de réponse doit être https://jwt.ms.
  7. Sélectionnez le bouton Exécuter le flux d’utilisateur.
  8. Dans la page d’inscription ou de connexion, sélectionnez PingOne pour vous connecter avec un compte PingOne.

Si le processus de connexion réussit, votre navigateur est redirigé vers https://jwt.ms, qui affiche le contenu du jeton retourné par Azure AD B2C.

Création d’une clé de stratégie

Vous devez stocker la clé secrète client que vous avez enregistrée dans votre locataire Azure AD B2C.

  1. Connectez-vous au portail Azure.
  2. Si vous avez accès à plusieurs tenants, utilisez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Répertoires + abonnements.
  3. Choisissez Tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.
  4. Dans la page de vue d’ensemble, sélectionnez Infrastructure d’expérience d’identité.
  5. Sélectionnez Clés de stratégie, puis Ajouter.
  6. Pour Options, choisissez Manual.
  7. Entrez un nom pour la clé de stratégie. Par exemple : PingOneSecret. Le préfixe B2C_1A_ est ajouté automatiquement au nom de votre clé.
  8. Dans Secret, entrez la clé secrète client que vous avez enregistrée.
  9. Pour Utilisation de la clé, sélectionnez Signature.
  10. Cliquez sur Créer.

Configurer PingOne en tant que fournisseur d’identité

Pour permettre aux utilisateurs de se connecter avec un compte PingOne, vous devez définir le compte en tant que fournisseur de revendications avec lequel Azure Active Directory B2C peut communiquer via un point de terminaison. Le point de terminaison fournit un ensemble de revendications utilisées par Azure AD B2C pour vérifier qu’un utilisateur spécifique s’est authentifié.

Vous pouvez définir un compte PingOne en tant que fournisseur de revendications en l’ajoutant à l’élément ClaimsProviders dans le fichier d’extension de votre stratégie.

  1. Ouvrez le fichier TrustFrameworkExtensions.xml.

  2. Recherchez l’élément ClaimsProviders. S’il n’existe pas, ajoutez-le sous l’élément racine.

  3. Ajoutez un nouveau ClaimsProvider comme suit :

    <ClaimsProvider>
      <Domain>pingone.com</Domain>
      <DisplayName>PingOne</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="PingOne-OpenIdConnect">
          <DisplayName>Ping Identity</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">Your PingOne OIDC discovery endpoint</Item>
            <Item Key="client_id">Your PingOne client ID</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid email profile</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_PingOneSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Définissez les métadonnées METADATA sur votre point de terminaison de découverte OIDC PingOne.

  5. Définissez les métadonnées client_id sur votre ID client PingOne.

  6. Enregistrez le fichier .

Ajouter un parcours utilisateur

À ce stade, le fournisseur d’identité a été configuré, mais il n’est encore disponible dans aucune des pages de connexion. Si vous n’avez pas votre propre parcours utilisateur personnalisé, créez un doublon d’un modèle de parcours utilisateur existant ; sinon, passez à l’étape suivante.

  1. Ouvrez le fichier TrustFrameworkBase.xml à partir du pack de démarrage.
  2. Recherchez et copiez l’intégralité du contenu de l’élément UserJourney comprenant Id="SignUpOrSignIn".
  3. Ouvrez le fichier TrustFrameworkExtensions.xml, puis recherchez l’élément UserJourneys. Si l’élément n’existe pas, ajoutez-en un.
  4. Collez l’intégralité du contenu de l’élément UserJourney que vous avez copié en tant qu’enfant de l’élément UserJourneys.
  5. Renommez l’ID du parcours utilisateur. Par exemple : Id="CustomSignUpSignIn".

Ajoutez le fournisseur d’identité à un parcours utilisateur

Maintenant que vous disposez d’un parcours utilisateur, ajoutez-y le nouveau fournisseur d’identité. Vous ajoutez d’abord un bouton de connexion, puis vous liez le bouton à une action. L’action représente le profil technique que vous avez créé plus haut.

  1. Recherchez l’élément d’étape d’orchestration comprenant Type="CombinedSignInAndSignUp" ou Type="ClaimsProviderSelection" dans le parcours utilisateur. Il s’agit généralement de la première étape d’orchestration. L’élément ClaimsProviderSelections contient une liste de fournisseurs d’identité auxquels un utilisateur peut se connecter. L’ordre des éléments détermine l’ordre des boutons de connexion présentés à l’utilisateur. Ajoutez un élément XML ClaimsProviderSelection. Définissez la valeur TargetClaimsExchangeId sur un nom convivial.

  2. À la prochaine étape d’orchestration, ajoutez un élément ClaimsExchange. Définissez ID sur la valeur de l’ID d’échange des revendications cible. Mettez à jour la valeur de TechnicalProfileReferenceId sur l’ID du profil technique que vous avez créé précédemment.

Le code XML suivant montre les deux premières étapes d’orchestration d’un parcours utilisateur avec le fournisseur d’identité :

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="PingOneExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="PingOneExchange" TechnicalProfileReferenceId="PingOne-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Configurer la stratégie de partie de confiance

La stratégie de partie de confiance, par exemple SignUpSignIn.xml, spécifie le parcours utilisateur à partir duquel Azure AD B2C s’exécutera. Recherchez l’élément DefaultUserJourney dans la partie de confiance. Mettez à jour la valeur ReferenceId afin qu’elle corresponde à l’ID du parcours utilisateur auquel vous avez ajouté le fournisseur d'identité.

Dans l’exemple suivant, pour le parcours utilisateur CustomSignUpSignIn, la valeur ReferenceId est définie sur CustomSignUpSignIn :

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Téléchargez la stratégie personnalisée

  1. Connectez-vous au portail Azure.
  2. Sélectionnez l’icône Annuaire et abonnement dans la barre d’outils du portail, puis sélectionnez l’annuaire qui contient votre locataire Azure AD B2C.
  3. Dans la Portail Azure, recherchez et sélectionnez Azure AD B2C.
  4. Sous Stratégies, sélectionnez Identity Experience Framework.
  5. Sélectionnez Charger une stratégie personnalisée, puis chargez les deux fichiers de stratégie que vous avez modifiés, dans l’ordre suivant : la stratégie d’extension, par exemple TrustFrameworkExtensions.xml, puis la stratégie de la partie de confiance, par exemple SignUpSignIn.xml.

Tester votre stratégie personnalisée

  1. Sélectionnez votre stratégie de partie de confiance, par exemple B2C_1A_signup_signin.
  2. Pour Application, sélectionnez une application web que vous avez précédemment inscrite. L’URL de réponse doit être https://jwt.ms.
  3. Sélectionnez le bouton Exécuter maintenant.
  4. Dans la page d’inscription ou de connexion, sélectionnez PingOne pour vous connecter avec un compte PingOne.

Si le processus de connexion réussit, votre navigateur est redirigé vers https://jwt.ms, qui affiche le contenu du jeton retourné par Azure AD B2C.

Étapes suivantes

Découvrez comment passer un jeton PingOne à votre application.