Partager via


Configurer Transmit Security avec Azure Active Directory B2C pour l’authentification par clés d'accès

Important

À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.

Dans ce tutoriel, découvrez comment intégrer l’authentification Azure Active Directory B2C (Azure AD B2C) à la solution d’authentification de passe secrète hébergée de Transmit Security. Transmit Security utilise une authentification biométrique FIDO2 (Fast Identity Online) forte pour une authentification omnicanale fiable. La solution garantit une expérience de connexion fluide pour les clients sur les appareils et les canaux, tout en réduisant la fraude, le hameçonnage et la réutilisation des informations d’identification.

Description du scénario

Le diagramme d’architecture suivant illustre l’implémentation :

Diagramme de l’architecture Transmit et Azure AD B2C.

  1. L’utilisateur ouvre la page de connexion Azure AD B2C et se connecte ou s’inscrit.
  2. Azure AD B2C redirige l’utilisateur vers Transmit Security à l’aide d’une requête OpenID Connect (OIDC).
  3. Transmit Security authentifie l’utilisateur à l’aide de la biométrie FIDO2 sans application, comme l’empreinte digitale.
  4. Une réponse d'authentification décentralisée est retournée à Transmit Security.
  5. La réponse OIDC est transmise à Azure AD B2C.
  6. L’utilisateur reçoit ou refuse l’accès à l’application, en fonction des résultats de vérification.

Conditions préalables

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

Étape 1 : Créer une application de transmission

Connectez-vous au portail d’administration de transmission et créez une application :

  1. Dans Applications, sélectionnez Ajouter une application.

  2. Configurez l’application avec les attributs suivants :

    Propriété Descriptif
    Nom de l’application Nom de l’application
    Nom du client Nom du client
    URI de redirection https://<your-B2C-tenant>.b2clogin.com/<your-B2C-tenant>.onmicrosoft.com/oauth2/authresp<your-B2C-tenant> est votre domaine de locataire Azure AD B2C (ou <your-B2C-tenant>.b2clogin.com votre domaine personnalisé)
  3. Sélectionnez Ajouter.

  4. Lors de l’inscription, un ID client et une clé secrète client s’affichent. Enregistrez les valeurs à utiliser ultérieurement.

Étape 2 : Configurer l’expérience de connexion

À partir du portail d’administration de transmission, configurez l’expérience d’authentification utilisateur :

  1. Sélectionnez Authentification, puis gestion des expériences.

  2. Dans le menu déroulant, sélectionnez votre application.

  3. Configurez votre application avec les attributs suivants :

    Propriété Descriptif
    Identificateur de l’utilisateur Sélectionner e-mail
    Méthode d’authentification principale Sélectionner la clé secrète
    Méthode d’authentification secondaire Activer uniquement webAuthn QR et e-mail OTP
    Sélectionner des informations utilisateur Supprimer tous les champs par défaut
  4. Cliquez sur Enregistrer.

Étape 3 : Ajouter Transmit en tant que fournisseur d’identité

Pour permettre aux utilisateurs de se connecter avec Transmit Security, configurez Transmit Security en tant que nouveau fournisseur d’identité. Dans Azure AD B2C, procédez comme suit :

  1. Connectez-vous au portail Azure en tant qu’administrateur de stratégie IEF B2C au moins.

  2. Dans la barre d’outils du portail, sélectionnez Répertoires + abonnements.

  3. Sur les paramètres du portail | Page Répertoires + abonnements , dans la liste des noms du répertoire , recherchez le répertoire Azure AD B2C, puis sélectionnez Basculer.

  4. Sous Services Azure, sélectionnez Azure AD B2C (ou sélectionnez Plus de services et utilisez la zone de recherche Tous les services pour rechercher Azure AD B2C).

  5. Sélectionnez Fournisseurs d’identité, puis nouveau fournisseur OpenID Connect.

  6. Configurez le fournisseur comme suit :

    Propriété Descriptif
    Nom Un nom, comme Transmit Security
    URL des métadonnées https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration
    ID du client ID client fourni par Transmit
    Clé secrète client Clé secrète client fournie par Transmit
    Étendue openid email
    Type de réponse code
    Mode réponse form_post
    Nom d'affichage email
    Messagerie électronique email
  7. Cliquez sur Enregistrer.

Étape 4 : Créer un flux utilisateur

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

  1. Dans votre locataire Azure AD B2C, sous Stratégies, sélectionnez Flux d’utilisateurs.
  2. Sélectionnez Nouveau flux d’utilisateurs.
  3. Sélectionnez S’inscrire et connecter le type de flux utilisateur, puis sélectionnez Créer.
  4. Entrez un nom pour le flux utilisateur, par exemple signupsignin.
  5. Sous Fournisseurs d’identité :
    • Pour les comptes locaux, sélectionnez Aucun.
    • Pour les Fournisseurs d’identité personnalisés, sélectionnez le fournisseur Transmit Security.
  6. Sélectionnez Créer pour ajouter le flux utilisateur.

Étape 5 : Tester le flux utilisateur

  1. Dans votre locataire Azure AD B2C, sélectionnez Flux d’utilisateurs.
  2. Sélectionnez le flux utilisateur créé, tel que B2C_1_signupsignin.
  3. Sélectionnez Exécuter le flux utilisateur :
    • Pour Application, sélectionnez votre application web inscrite.
    • Pour l’URL de réponse, sélectionnez https://jwt.ms.
  4. Sélectionner Exécuter le flux utilisateur.
  5. Le navigateur est redirigé vers la page de connexion de Transmit.
  6. Terminez le flux de connexion : entrez votre adresse e-mail de compte et authentifiez-vous à l’aide de la biométrie (par exemple, empreinte digitale).
  7. Le navigateur est redirigé vers https://jwt.ms avec un jeton Azure AD B2C.

Étape 3 : Créer une clé de stratégie

Vous devez stocker le secret client de votre application Transmit que vous avez enregistré précédemment dans votre instance Azure AD B2C.

  1. Connectez-vous au portail Azure.

  2. Dans la barre d’outils du portail, sélectionnez Répertoires + abonnements.

  3. Sur les paramètres du portail | Page Répertoires + abonnements , dans la liste des noms du répertoire , recherchez le répertoire Azure AD B2C, puis sélectionnez Basculer.

  4. Dans la page Vue d’ensemble, sous Stratégies, sélectionnez Identity Experience Framework.

  5. Sélectionnez Clés de stratégie, puis sélectionnez Ajouter.

  6. Configurez la clé de stratégie comme suit :

    Propriété Descriptif
    Options Manuel
    Nom Nom de clé de stratégie, tel que TransmitClientSecret
    Secret Clé secrète client fournie par Transmit
    Syntaxe de la clé Signature
  7. Sélectionnez Créer pour ajouter la clé de stratégie.

Étape 4 : Ajouter Transmit en tant que fournisseur d’identité

Pour activer la connexion avec Transmit Security, définissez Transmit Security en tant que fournisseur de revendications avec lequel Azure AD B2C communique via un point de terminaison. Le point de terminaison fournit des revendications utilisées par Azure AD B2C pour vérifier qu’un utilisateur s’est authentifié avec une identité numérique sur un appareil.

Vous pouvez définir la sécurité de transmission en tant que fournisseur de revendications en l’ajoutant à l’élément ClaimsProviders dans le fichier d’extension de votre stratégie.

  1. Obtenez les packs de démarrage de stratégie personnalisés à partir de GitHub, puis mettez à jour les fichiers XML dans le pack de démarrage SocialAndLocalAccounts avec le nom de votre locataire Azure AD B2C :

    1. Téléchargez le fichier .zip ou clonez le référentiel :

      git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
      
    2. Dans les fichiers du répertoire LocalAccounts , remplacez la chaîne yourtenant par le nom du locataire Azure AD B2C.

  2. Ouvrez le fichier LocalAccounts/ TrustFrameworkExtensions.xml.

  3. Recherchez l’élément ClaimsProviders . S’il n’apparaît pas, ajoutez-le sous l’élément racine.

  4. Ajoutez un nouveau ClaimsProvider similaire à l’exemple suivant :

     <ClaimsProvider>
         <Domain>api.transmitsecurity.io</Domain>
         <DisplayName>Transmit</DisplayName>
         <TechnicalProfiles>
           <TechnicalProfile Id="TS-OpenIdConnect">
             <DisplayName>Transmit</DisplayName>
             <Protocol Name="OpenIdConnect" />
             <Metadata>
               <Item Key="METADATA">https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration</Item>
                <!-- Update the Client ID below to the Transmit Security client ID -->
               <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
               <Item Key="response_types">code</Item>
               <Item Key="scope">openid email</Item>
               <Item Key="response_mode">form_post</Item>
               <Item Key="HttpBinding">POST</Item>
               <Item Key="UsePolicyInRedirectUri">false</Item>
               <Item Key="AccessTokenResponseFormat">json</Item>
             </Metadata>
             <CryptographicKeys>
               <Key Id="client_secret" StorageReferenceId="B2C_1A_TransmitClientSecret" />
             </CryptographicKeys>
             <OutputClaims>
               <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
               <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
               <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
               <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
             </OutputClaims>
             <OutputClaimsTransformations>
               <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
               <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
               <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
             </OutputClaimsTransformations>
             <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
           </TechnicalProfile>
         </TechnicalProfiles>
       </ClaimsProvider>    
    
  5. Définissez client_id avec l’ID client Transmit Security.

  6. Mettez à jour la section client_secret avec le nom de la clé de stratégie que vous avez créée (par exemple, B2C_1A_TransmitClientSecret) :

    <Key Id="client_secret" StorageReferenceId="B2C_1A_TransmitClientSecret" />
    
  7. Cliquez sur Enregistrer.

Étape 5 : Ajouter un parcours utilisateur

À ce stade, le fournisseur d’identité est configuré, mais il n’est pas encore disponible dans les pages de connexion. Si vous disposez d’un parcours utilisateur personnalisé, passez à l’étape Ajouter la transmission à l’étape de parcours utilisateur . Sinon, créez un parcours utilisateur de modèle dupliqué :

  1. À partir du pack de démarrage, ouvrez le LocalAccounts/ TrustFrameworkBase.xml fichier.
  2. Recherchez et copiez le contenu de l’élément UserJourney qui inclut Id=SignUpOrSignIn.
  3. Ouvrez le fichier LocalAccounts/ TrustFrameworkExtensions.xml.
  4. Recherchez l’élément UserJourneys . S’il n’y a aucun élément, ajoutez-en un.
  5. Collez l’élément UserJourney en tant qu’enfant de l’élément UserJourneys.
  6. Renommer l’ID du parcours utilisateur (par exemple, Id=TransmitSUSI)

Étape 6 : Ajouter la transmission au parcours utilisateur

Ajoutez le nouveau fournisseur d’identité au parcours utilisateur :

  1. Recherchez l’élément d’étape d’orchestration qui inclut Type=CombinedSignInAndSignUpou Type=ClaimsProviderSelection dans le parcours utilisateur. Il s’agit généralement de la première étape d’orchestration. L’élément ClaimsProviderSelections possède une liste de fournisseurs d’identité avec laquelle les utilisateurs se connectent. L’ordre des éléments contrôle l’ordre des boutons de connexion.
  2. Ajoutez un élément XML ClaimsProviderSelection .
  3. Définissez la valeur de TargetClaimsExchangeId sur un nom convivial.
  4. 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 TechnicalProfileReferenceId sur l’ID de profil technique que vous avez créé.

Le code XML suivant illustre le parcours utilisateur d’orchestration avec le fournisseur d’identité :

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

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

Étape 7 : 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. Recherchez l’élément DefaultUserJourney dans la partie de confiance. Mettez à jour le ReferenceId pour qu'il corresponde à l'identifiant du parcours utilisateur dans lequel vous avez ajouté le fournisseur d'identité.

Dans l’exemple suivant, pour le TransmitSUSI parcours utilisateur, l’Id de référence est défini sur TransmitSUSI:

  <RelyingParty>
    <DefaultUserJourney ReferenceId="TransmitSUSI" />
    <TechnicalProfile Id="TS-OpenIdConnect">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
        <OutputClaim ClaimTypeReferenceId="identityProvider" />
        <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
      </OutputClaims>
      <SubjectNamingInfo ClaimType="sub" />
    </TechnicalProfile>
  </RelyingParty>

Étape 8 : Charger la stratégie personnalisée

En utilisant le répertoire avec votre locataire Azure AD B2C, chargez la stratégie personnalisée :

  1. Connectez-vous au portail Azure.
  2. Dans la barre d’outils du portail, sélectionnez Répertoires + abonnements.
  3. Sur les paramètres du portail | Page Répertoires + abonnements , dans la liste des noms du répertoire , recherchez le répertoire Azure AD B2C, puis sélectionnez Basculer.
  4. Sous Stratégies, sélectionnez Identity Experience Framework.
  5. Sélectionnez Charger une stratégie personnalisée, puis chargez les fichiers mis à jour dans l’ordre suivant :
  • Stratégie de base, par exemple TrustFrameworkBase.xml
  • Stratégie de localisation, par exemple TrustFrameworkLocalization.xml
  • Stratégie d’extension, par exemple TrustFrameworkExtensions.xml
  • Stratégie de la partie de confiance, comme SignUpOrSignIn.xml

Étape 9 : Tester votre stratégie personnalisée

À l’aide du répertoire avec votre locataire Azure AD B2C, testez votre stratégie personnalisée :

  1. Dans le locataire Azure AD B2C, puis, sous Stratégies, sélectionnez Identity Experience Framework.
  2. Sous Stratégies personnalisées, sélectionnez B2C_1A_signup_signin.
  3. Pour l’application, sélectionnez l’application web que vous avez inscrite. L’URL de réponse est https://jwt.ms.
  4. Sélectionnez Exécuter maintenant.
  5. Le navigateur est redirigé vers la page de connexion de Transmit.
  6. Terminez le flux de connexion : entrez votre adresse e-mail de compte et authentifiez-vous à l’aide de la biométrie (par exemple, empreinte digitale).
  7. Le navigateur est redirigé vers https://jwt.ms avec un jeton Azure AD B2C.

Étapes suivantes

Pour plus d’informations, consultez les articles suivants :