Partager via


Tutoriel : configurer Azure Active Directory B2C avec BlokSec pour une authentification sans mot de passe

Avant de commencer

Azure Active Directory B2C dispose de deux méthodes pour définir les interactions des utilisateurs avec les applications : les flux d’utilisateurs prédéfinis ou les stratégies personnalisées configurables.

Notes

Dans Azure Active Directory B2C, les stratégies personnalisées gèrent principalement des scénarios complexes. Dans la majorité des scénarios, nous recommandons d’utiliser les flux d’utilisateurs prédéfinis.
Consultez Vue d’ensemble des flux d’utilisateurs et des stratégies personnalisées.

Azure AD B2C et BlokSec

Découvrez comment intégrer l’authentification Azure Active Directory B2C (Azure AD B2C) au routeur d’identité décentralisé BlokSec. La solution BlokSec simplifie la connexion utilisateur avec une authentification sans mot de passe et une authentification multifacteur sans jeton. La solution protège les clients contre les attaques liées à l’identité : bourrage de mot de passe, hameçonnage et intercepteur.

Pour en savoir plus, consultez bloksec.com : BlokSec Technologies Inc.

Description du scénario

L’intégration BlokSec inclut les composants suivants :

  • Azure AD B2C – Serveur d’autorisation et fournisseur d’identité (IdP) pour les applications B2C.
  • Routeur d’identité décentralisé BlokSec – passerelle pour les services qui appliquent BlokSec DIaaS pour router les requêtes d’authentification et d’autorisation vers les applications PIdP (Personal Identity Provider) de l’utilisateur.
    • Il s’agit d’un fournisseur d’identité OpenID Connect (OIDC) dans Azure AD B2C.
  • Application mobile basée sur le SDK BlokSec – PIdP de l’utilisateur dans le scénario d’authentification décentralisée.
    • Si vous n’utilisez pas le SDK BlokSec, accédez à Google Play pour obtenir l’application BlokSec yuID gratuite.

Le diagramme d’architecture suivant illustre le flux d’inscription et de connexion dans l’implémentation de la solution BlokSec.

Diagramme du flux d’inscription et de connexion dans l’implémentation de la solution BlokSec.

  1. L’utilisateur se connecte à une application Azure AD B2C, puis il est dirigé vers une stratégie d’inscription et de connexion Azure AD B2C.
  2. Azure AD B2C redirige l’utilisateur vers le routeur d’identité décentralisé BlokSec à l’aide du flux de code d’autorisation OIDC.
  3. Le routeur BlokSec envoie une notification Push à l’application mobile de l’utilisateur avec les informations de la requête d’authentification et d’autorisation.
  4. L’utilisateur examine la demande d’authentification. Un utilisateur accepté est invité à fournir des données de biométrie comme une empreinte digitale ou une reconnaissance faciale.
  5. La réponse est signée numériquement avec la clé numérique unique de l’utilisateur. La réponse d’authentification fournit la preuve de possession, de présence et de consentement. La réponse est retournée au routeur.
  6. Le routeur vérifie la signature numérique par rapport à la clé publique unique immuable de l’utilisateur stockée dans un registre distribué. Le routeur répond à Azure AD B2C avec un résultat d’authentification.
  7. L’accès est accordé ou refusé à l’utilisateur.

Activer BlokSec

  1. Accédez à bloksec.com pour demander une version de démonstration.
  2. Dans le champ du message, indiquez que vous voulez effectuer une intégration à Azure AD B2C.
  3. Téléchargez et installez l’application mobile BlokSec yuID gratuite.
  4. Une fois le locataire de démonstration préparé, un e-mail arrive.
  5. Sur l’appareil mobile sur lequel l’application BlokSec est installée, sélectionnez le lien pour inscrire votre compte administrateur auprès de votre application yuID.

Prérequis

Pour commencer, vous avez besoin des éléments suivants :

Consultez aussi Tutoriel : Créer des flux d’utilisateurs et des stratégies personnalisées dans Azure AD B2C.

Créer une inscription d’application dans BlokSec

Dans l’e-mail d’inscription de compte envoyé par BlokSec, recherchez le lien vers la console d’administration BlokSec.

  1. Connectez-vous à la console d’administration BlokSec.
  2. Dans le tableau de bord principal, sélectionnez Ajouter une application > Créer personnalisé.
  3. Pour Nom, entrez Azure AD B2C ou un nom d’application.
  4. Pour Type d’authentification unique, sélectionnez OIDC.
  5. Pour URI de logo, entrez un lien vers une image de logo.
  6. Pour URI de redirection, utilisez https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp. Par exemple : https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp. Pour un domaine personnalisé, entrez https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp.
  7. Pour URI de redirection de la déconnexion après la déconnexion, entrez https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout.
  8. Sélectionnez l’application Azure AD B2C créée pour ouvrir sa configuration.
  9. Sélectionnez Générer un secret d’application.

En savoir plus : Envoyer une requête de déconnexion.

Notes

Vous avez besoin d’un ID d’application et d’un secret d’application pour configurer le fournisseur d’identité (IdP) dans Azure AD B2C.

Ajouter un nouveau fournisseur d’identité dans Azure AD B2C

Pour les instructions suivantes, utilisez l’annuaire qui contient votre locataire Azure AD B2C.

  1. Connectez-vous au Portail Azure en tant qu’Administrateur général de votre locataire Azure AD B2C.
  2. Dans la barre d’outils du portail, sélectionnez Répertoires + abonnements.
  3. Sur la page Paramètres du portail | Répertoires + abonnements, dans la liste Nom de répertoire, recherchez votre répertoire Azure AD B2C.
  4. Sélectionnez Changer.
  5. En haut à gauche du portail Azure, sélectionnez Tous les services.
  6. Recherchez et sélectionnez Azure AD B2C.
  7. Accédez à Tableau de bord>Azure Active Directory B2C>Fournisseurs d’identité.
  8. Sélectionnez Nouveau fournisseur OpenID Connect.
  9. Sélectionnez Ajouter.

Configurer un fournisseur d’identité

  1. Sélectionnez Type de fournisseur d’identité > OpenID Connect
  2. Pour Nom, entrez BlokSec yuID Passwordless ou un autre nom.
  3. Pour URL de métadonnées, entrez https://api.bloksec.io/oidc/.well-known/openid-configuration.
  4. Pour IDV client, entrez l’ID d’application issue de l’interface utilisateur d’administration BlokSec.
  5. Pour Clé secrète client, entrez le secret d’application issu de l’interface utilisateur d’administration BlokSec.
  6. Pour Étendue, sélectionnez Profil e-mail OpenID.
  7. Pour Type de réponse, sélectionnez Code.
  8. Pour Indication du domaine, sélectionnez yuID.
  9. Sélectionnez OK.
  10. Sélectionnez Mapper les revendications de ce fournisseur d’identité.
  11. Pour ID d’utilisateur, sélectionnez sub.
  12. Pour Nom d’affichage, sélectionnez nom.
  13. Pour Prénom, utilisez prénom.
  14. Pour Nom de famille, utilisez nom de famille.
  15. Pour Email, utilisez email.
  16. Sélectionnez Enregistrer.

Enregistrement des utilisateurs

  1. Connectez-vous à la console d’administration BlokSec avec les informations d’identification fournies.
  2. Accédez à l’application Azure AD B2C créée précédemment.
  3. En haut à droite, sélectionnez l’icône engrenage.
  4. Sélectionnez Créer un compte.
  5. Dans Créer un compte, entrez les informations de l’utilisateur. Notez le nom du compte.
  6. Sélectionnez Envoyer.

L’utilisateur reçoit un e-mail d’inscription de compte à l’adresse e-mail indiquée. Demandez à l’utilisateur de sélectionner le lien d’inscription sur l’appareil mobile avec l’application BlokSec yuID.

Créer une stratégie de flux utilisateur

Pour les instructions suivantes, vérifiez que BlokSec est un nouveau fournisseur d’identité (IdP) OIDC.

  1. Dans votre locataire Azure AD B2C, sélectionnez Flux d’utilisateurs sous Stratégies.
  2. Sélectionnez Nouveau flux d’utilisateurs.
  3. Sélectionnez Inscription et connexion>Version>Créer.
  4. Entrez un nom de stratégie.
  5. Dans la section des fournisseurs d’identité, sélectionnez le fournisseur d’identité BlokSec créé.
  6. Pour le compte local, sélectionnez Aucun. Cette action désactive l’authentification par e-mail et par mot de passe.
  7. Sélectionnez Exécuter le flux d’utilisateur.
  8. Dans le formulaire, entrez l’URL de réponse, par exemple https://jwt.ms.
  9. Le navigateur est redirigé vers la page de connexion BlokSec.
  10. Entrez le nom du compte utilisé pour l’inscription de l’utilisateur.
  11. L’utilisateur reçoit une notification Push sur l’appareil mobile avec l’application BlokSec yuID.
  12. L’utilisateur ouvre la notification et la demande d’authentification apparaît.
  13. Si l’authentification est acceptée, le navigateur redirige l’utilisateur vers l’URL de réponse.

Notes

Dans Azure Active Directory B2C, les stratégies personnalisées gèrent principalement des scénarios complexes. Dans la majorité des scénarios, nous recommandons d’utiliser les flux d’utilisateurs prédéfinis.
Consultez Vue d’ensemble des flux d’utilisateurs et des stratégies personnalisées.

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

Stockez la clé secrète client que vous avez notée dans votre locataire Azure AD B2C. Pour les instructions suivantes, utilisez l’annuaire qui contient votre locataire Azure AD B2C.

  1. Connectez-vous au portail Azure.
  2. Dans la barre d’outils du portail, sélectionnez Répertoires + abonnements.
  3. Sur la page Paramètres du portail | Répertoires + abonnements, dans la liste Nom de répertoire, recherchez votre répertoire Azure AD B2C.
  4. Sélectionnez Changer.
  5. Dans l’angle supérieur gauche du portail Azure, sélectionnez Tous les services.
  6. Recherchez et sélectionnez Azure AD B2C.
  7. Dans la page de présentation, sélectionnez Identity Experience Framework.
  8. Sélectionnez Clés de stratégie.
  9. Sélectionnez Ajouter.
  10. Dans Options, choisissez Manuel.
  11. Entrez un nom de stratégie pour la clé de stratégie. Par exemple : BlokSecAppSecret. Le préfixe B2C_1A_ est ajouté au nom de clé.
  12. Dans Secret, entrez la clé secrète client que vous avez notée.
  13. Pour Utilisation de la clé, sélectionnez Signature.
  14. Sélectionnez Create (Créer).

Configurer BlokSec en tant que fournisseur d’identité

Pour permettre aux utilisateurs de se connecter à l’aide de l’identité décentralisée BlokSec, définissez BlokSec en tant que fournisseur de revendications. Cette action permet à Azure AD B2C de communiquer avec ce dernier par le biais d’un point de terminaison. Azure AD B2C utilise des revendications de point de terminaison pour vérifier que les utilisateurs authentifient leur identité à l’aide de données biométriques, comme une empreinte digitale ou une reconnaissance faciale.

Pour définir BlokSec comme fournisseur de revendications, ajoutez-le à l’élément ClaimsProvider dans le fichier d’extension de la stratégie.

  1. Ouvrez le fichier TrustFrameworkExtensions.xml.

  2. Recherchez l’élément ClaimsProviders. Si l’élément n’apparaît pas, ajoutez-le sous l’élément racine.

  3. Pour ajouter un nouveau ClaimsProvider :

    <ClaimsProvider>
      <Domain>bloksec</Domain>
      <DisplayName>BlokSec</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="BlokSec-OpenIdConnect">
          <DisplayName>BlokSec</DisplayName>
          <Description>Login with your BlokSec decentriled identity</Description>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://api.bloksec.io/oidc/.well-known/openid-configuration</Item>
            <!-- Update the Client ID below to the BlokSec Application ID -->
            <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile email</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="DiscoverMetadataByTokenIssuer">true</Item>
            <Item Key="ValidTokenIssuerPrefixes">https://api.bloksec.io/oidc</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_BlokSecAppSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
          </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 client_id sur l’ID d’application de l’inscription de l’application.

  5. Sélectionnez Enregistrer.

Ajouter un parcours utilisateur

Utilisez les instructions suivantes si le fournisseur d’identité est configuré, mais qu’il n’apparaît pas dans les pages de connexion. Si vous n’avez pas de parcours utilisateur personnalisé, copiez un modèle de parcours utilisateur.

  1. Dans le pack de démarrage, ouvrez le fichier TrustFrameworkBase.xml.
  2. Recherchez et copiez le contenu de l’élément UserJourneys qui inclut ID=SignUpOrSignIn.
  3. Ouvrez le fichier TrustFrameworkExtensions.xml.
  4. Recherchez l’élément UserJourneys. Ajoutez un élément s’il n’apparaît pas.
  5. Collez le contenu de l’élément UserJourney que vous avez copié en tant qu’enfant de l’élément UserJourneys.
  6. Renommez l’ID du parcours utilisateur. Par exemple, ID = CustomSignUpSignIn.

Ajoutez le fournisseur d’identité à un parcours utilisateur

Si vous disposez d’un parcours utilisateur, ajoutez-y le nouveau fournisseur d’identité. Commencez par ajouter un bouton de connexion, puis liez-le à une action, qui correspond au profil technique que vous avez créé.

  1. Dans le parcours utilisateur, recherchez l’élément d’étape d’orchestration qui inclut Type=CombinedSignInAndSignUp ou Type=ClaimsProviderSelection. Il s’agit généralement de la première étape d’orchestration. L’élément ClaimsProviderSelections contient la liste des fournisseurs d’identité utilisés pour la connexion de l’utilisateur. L’ordre des éléments contrôle l’ordre des boutons de connexion vus par l’utilisateur.
  2. Ajoutez un élément XML ClaimsProviderSelection.
  3. Définissez la valeur TargetClaimsExchangeId sur un nom convivial.
  4. À la prochaine étape d’orchestration, ajoutez un élément ClaimsExchange.
  5. Définissez l’ID sur la valeur de l’ID cible d’échange des revendications.
  6. Mettez à jour la valeur de TechnicalProfileReferenceId vers l’ID du profil technique que vous avez créé.

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="BlokSecExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

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

Configurer la stratégie de partie de confiance

La stratégie de la partie de confiance, par exemple SignUpSignIn.xml, spécifie le parcours utilisateur exécuté par Azure AD B2C.

  1. Recherchez l’élément DefaultUserJourney dans la partie de confiance.
  2. 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 CustomSignUpOrSignIn, la valeur ReferenceId est définie sur CustomSignUpOrSignIn.

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

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

Pour les instructions suivantes, utilisez l’annuaire qui contient votre locataire Azure AD B2C.

  1. Connectez-vous au portail Azure.
  2. Sélectionnez l’icône Répertoires + abonnements dans la barre d’outils du portail.
  3. Dans la page Paramètres du portail | Répertoires + abonnements, dans la liste Nom d’annuaire, recherchez votre annuaire Azure AD B2C.
  4. Sélectionnez Changer.
  5. Dans la Portail Azure, recherchez et sélectionnez Azure AD B2C.
  6. Sous Stratégies, sélectionnez Identity Experience Framework.
  7. Sélectionnez Charger une stratégie personnalisée.
  8. Chargez dans l’ordre suivant les deux fichiers de stratégie que vous avez modifiés :
  • Stratégie d’extension, par exemple TrustFrameworkExtensions.xml.
  • Stratégie de la partie de confiance, comme SignUpSignIn.xml.

Tester la 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 inscrite.
  3. L’URL de réponse apparaît sous la forme https://jwt.ms.
  4. Sélectionnez Exécuter maintenant.
  5. Dans la page d’inscription ou de connexion, sélectionnez Google pour vous connecter avec un compte Google.
  6. Le navigateur est redirigé vers https://jwt.ms. Observez le contenu du jeton retourné par Azure AD B2C.

En savoir plus : Tutoriel : Inscrire une application web dans Azure Active Directory B2C

Étapes suivantes