Freigeben über


Konfigurieren der Übertragungssicherheit mit Azure Active Directory B2C für die Authentifizierung mit Passkeys

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

In diesem Lernprogramm erfahren Sie, wie Sie die Azure Active Directory B2C(Azure AD B2C)-Authentifizierung in die gehostete Passkeys-Authentifizierungslösung von Transmit Security integrieren. Transmission Security verwendet eine starke FIDO2-biometrische Authentifizierung (Fast Identity Online) für eine zuverlässige Omnikanalauthentifizierung. Die Lösung stellt eine reibungslose Anmeldeumgebung für Kunden auf allen Geräten und Kanälen sicher, während Betrug, Phishing und Wiederverwendung von Anmeldeinformationen reduziert werden.

Szenariobeschreibung

Das folgende Architekturdiagramm veranschaulicht die Implementierung:

Diagramm der Übertragungs- und Azure AD B2C-Architektur.

  1. Der Benutzer öffnet die Azure AD B2C-Anmeldeseite und meldet sich an oder registriert sich.
  2. Azure AD B2C leitet den Benutzer mithilfe einer OpenID Connect (OIDC)-Anforderung an "Transmit Security" um.
  3. Transmit Security authentifiziert den Benutzer mithilfe applikationsloser FIDO2-Biometrie, z. B. eines Fingerabdrucks.
  4. Eine dezentrale Authentifizierungsantwort wird an Transmit Security zurückgegeben.
  5. Die OIDC-Antwort wird an Azure AD B2C übergeben.
  6. Dem Benutzer wird basierend auf den Überprüfungsergebnissen der Zugriff auf die Anwendung gewährt oder verweigert.

Voraussetzungen

Um zu beginnen, benötigen Sie Folgendes:

Schritt 1: Erstellen einer Übertragungs-App

Melden Sie sich beim Übertragungsverwaltungsportal an, und erstellen Sie eine Anwendung:

  1. Wählen Sie in "Anwendungen" die Option "Anwendung hinzufügen" aus.

  2. Konfigurieren Sie die Anwendung mit den folgenden Attributen:

    Eigentum BESCHREIBUNG
    Anwendungsname Anwendungsname
    Clientname Clientname
    Umleitungs-URIs https://<your-B2C-tenant>.b2clogin.com/<your-B2C-tenant>.onmicrosoft.com/oauth2/authresp wobei <your-B2C-tenant> Ihre Azure AD B2C-Mandantendomäne ist (oder <your-B2C-tenant>.b2clogin.com Ihre benutzerdefinierte Domäne ist)
  3. Wählen Sie Hinzufügen aus.

  4. Bei der Registrierung wird eine Client-ID und ein geheimer Clientschlüssel angezeigt. Notieren Sie die Werte, die später verwendet werden sollen.

Schritt 2: Konfigurieren der Anmeldeoberfläche

Konfigurieren Sie im Übertragungsverwaltungsportal die Benutzerauthentifizierung:

  1. Wählen Sie "Authentifizierung" und dann " Experiences Management" aus.

  2. Wählen Sie im Dropdownmenü Ihre Anwendung aus.

  3. Konfigurieren Sie Ihre Anwendung mit den folgenden Attributen:

    Eigentum BESCHREIBUNG
    Benutzer-ID E-Mail auswählen
    Primäre Authentifizierungsmethode Passkey auswählen
    Sekundäre Authentifizierungsmethode Nur WebAuthn QR und E-Mail-OTP aktivieren
    Benutzerinformationen auswählen Alle Standardfelder löschen
  4. Wählen Sie Speichern aus.

Schritt 3: Füge Transmit als Identitätsanbieter hinzu

Konfigurieren Sie Transmit Security als neuen Identitätsanbieter, um Benutzern zu ermöglichen, sich mit Transmit Security anzumelden. Führen Sie in Azure AD B2C die folgenden Schritte aus:

  1. Melden Sie sich im Azure-Portal als mindestens B2C-IEF-Richtlinien-Administrator an.

  2. Wählen Sie auf der Portalsymbolleiste "Verzeichnisse + Abonnements" aus.

  3. In den Portaleinstellungen | Seite "Verzeichnisse + Abonnements " in der Verzeichnisnamenliste finden Sie das Azure AD B2C-Verzeichnis, und wählen Sie dann "Wechseln" aus.

  4. Wählen Sie unter Azure-DiensteAzure AD B2C (oder wählen Sie "Weitere Dienste " aus, und verwenden Sie das Suchfeld "Alle Dienste ", um nach Azure AD B2C zu suchen).

  5. Wählen Sie "Identitätsanbieter" und dann " Neuer OpenID Connect-Anbieter" aus.

  6. Konfigurieren Sie den Anbieter wie folgt:

    Eigentum BESCHREIBUNG
    Name Name, z. B. Transmit Security
    Metadaten-URL https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration
    Client-ID Client-ID, die von Transmission bereitgestellt wird
    Geheimer Clientschlüssel Geheimer Clientschlüssel, der von Transmission bereitgestellt wird
    Bereich openid email
    Antworttyp Code
    Antwortmodus Formular_Absenden
    Anzeigename email
    E‑Mail email
  7. Wählen Sie Speichern aus.

Schritt 4: Erstellen eines Benutzerablaufs

Zu diesem Zeitpunkt wurde der Transmit Security-Identitätsanbieter eingerichtet, ist aber noch nicht auf einer der Anmeldeseiten verfügbar. Um den Transmit Security-Identitätsanbieter zu einem Benutzerfluss hinzuzufügen:

  1. Wählen Sie in Ihrem Azure AD B2C-Mandanten unter "Richtlinien" die Option "Benutzerflüsse" aus.
  2. Wählen Sie "Neuer Benutzerablauf" aus.
  3. Wählen Sie den Benutzerflusstyp "Registrieren und Anmelden" und klicken Sie dann auf "Erstellen".
  4. Geben Sie einen Namen für den Benutzerablauf ein, z. B. "Signupsignin".
  5. Gehen Sie unter Identitätsanbieter folgendermaßen vor:
    • Wählen Sie für lokale Konten"Keine" aus.
    • Wählen Sie für benutzerdefinierte Identitätsanbieter den Übertragungssicherheitsanbieter aus.
  6. Wählen Sie "Erstellen" aus, um den Benutzerfluss hinzuzufügen.

Schritt 5: Testen des Benutzerablaufs

  1. Wählen Sie im Azure AD B2C-Mandanten die Option Benutzerflows aus.
  2. Wählen Sie den erstellten Benutzerablauf aus, z. B. B2C_1_signupsignin.
  3. Wählen Sie "Benutzerablauf ausführen" aus:
    • Wählen Sie für "Anwendung" Ihre registrierte Webanwendung aus.
    • Wählen Sie für antwort-URL die Option https://jwt.msaus.
  4. Wählen Sie Benutzerflow ausführen aus.
  5. Der Browser wird zur Anmeldeseite von Transmit umgeleitet.
  6. Schließen Sie den Anmeldeablauf ab: Geben Sie Ihre Konto-E-Mail-Adresse ein, und authentifizieren Sie sich mit biometrischen Daten (z. B. Fingerabdruck).
  7. Der Browser wird zu https://jwt.ms mit einem Azure AD B2C-Token umgeleitet.

Schritt 3: Erstellen eines Richtlinienschlüssels

Sie müssen den geheimen Clientschlüssel Ihrer Übermittlungsanwendung speichern, den Sie zuvor in Ihrem Azure AD B2C-Mandanten aufgezeichnet haben.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie auf der Portalsymbolleiste "Verzeichnisse + Abonnements" aus.

  3. In den Portaleinstellungen | Seite "Verzeichnisse + Abonnements " in der Verzeichnisnamenliste finden Sie das Azure AD B2C-Verzeichnis, und wählen Sie dann "Wechseln" aus.

  4. Wählen Sie auf der Seite "Übersicht" unter "Richtlinien" die Option "Identity Experience Framework" aus.

  5. Wählen Sie "Richtlinienschlüssel" und dann "Hinzufügen" aus.

  6. Konfigurieren Sie den Policy-Schlüssel wie folgt:

    Eigentum BESCHREIBUNG
    Optionen Manuell
    Name Richtlinienschlüsselname, z. B. TransmitClientSecret
    Geheimnis Geheimer Clientschlüssel, der von Transmission bereitgestellt wird
    Schlüsselverwendung Signatur-
  7. Wählen Sie "Erstellen" aus, um den Richtlinienschlüssel hinzuzufügen.

Schritt 4: Transmit als Identitätsanbieter hinzufügen

Um die Anmeldung mit Übertragungssicherheit zu aktivieren, definieren Sie "Transmit Security" als Anspruchsanbieter, mit dem Azure AD B2C über einen Endpunkt kommuniziert. Der Endpunkt stellt Ansprüche bereit, die von Azure AD B2C verwendet werden, um zu überprüfen, ob ein Benutzer mit einer digitalen Identität auf einem Gerät authentifiziert wurde.

Sie können Transmit Security als Anspruchsdienstanbieter definieren, indem Sie es dem ClaimsProviders-Element in der Erweiterungsdatei Ihrer Richtlinie hinzufügen.

  1. Rufen Sie die benutzerdefinierten Richtlinienstartpakete von GitHub ab, und aktualisieren Sie dann die XML-Dateien im Startpaket SocialAndLocalAccounts mit Ihrem Azure AD B2C-Mandantennamen:

    1. Laden Sie die .zip Datei herunter, oder klonen Sie das Repository:

      git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
      
    2. Ersetzen Sie in den Dateien im Verzeichnis "LocalAccounts " die Zeichenfolge yourtenant durch den Azure AD B2C-Mandantennamen.

  2. Öffnen Sie die Datei LocalAccounts/ TrustFrameworkExtensions.xml.

  3. Suchen Sie das ClaimsProviders-Element . Wenn sie nicht angezeigt wird, fügen Sie es unter dem Stammelement hinzu.

  4. Fügen Sie einen neuen ClaimsProvider ähnlich dem folgenden Beispiel hinzu:

     <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. Legen Sie client_id mit der Client-ID von Transmit Security fest.

  6. Aktualisieren Sie den Abschnitt client_secret mit dem Namen des von Ihnen erstellten Richtlinienschlüssels (z. B. B2C_1A_TransmitClientSecret):

    <Key Id="client_secret" StorageReferenceId="B2C_1A_TransmitClientSecret" />
    
  7. Wählen Sie Speichern aus.

Schritt 5: Hinzufügen einer Benutzerreise

Zum jetzigen Zeitpunkt ist der Identitätsanbieter eingerichtet, aber er ist noch nicht auf einer der Login-Seiten verfügbar. Wenn Sie über eine benutzerdefinierte User Journey verfügen, fahren Sie mit dem Schritt Transmit an die User Journey hinzufügen. Erstellen Sie andernfalls eine duplizierte User Journey als Vorlage:

  1. Öffnen Sie die LocalAccounts/ TrustFrameworkBase.xml Datei aus dem Startpaket.
  2. Suchen und kopieren Sie den Inhalt des UserJourney-Elements , das enthält Id=SignUpOrSignIn.
  3. Öffnen Sie die Datei LocalAccounts/ TrustFrameworkExtensions.xml.
  4. Suchen Sie das UserJourneys-Element . Wenn kein Element vorhanden ist, fügen Sie ein Element hinzu.
  5. Fügen Sie das UserJourney-Element als untergeordnetes Element des UserJourneys-Elements ein.
  6. Umbenennen der Benutzerreise-ID (z. B Id=TransmitSUSI. )

Schritt 6: Übertragung zum Benutzerablauf hinzufügen

Fügen Sie den neuen Identitätsanbieter zur Benutzerreise hinzu:

  1. Suchen Sie nach dem Orchestrierungsschrittelement, das Type=CombinedSignInAndSignUp enthält, oder Type=ClaimsProviderSelection in der User Journey. Es ist in der Regel der erste Orchestrierungsschritt. Das ClaimsProviderSelections-Element verfügt über eine Identitätsanbieterliste, mit der sich Benutzer anmelden. Die Reihenfolge der Elemente steuert die Reihenfolge der Anmeldeschaltflächen.
  2. Fügen Sie ein ClaimsProviderSelection-XML-Element hinzu.
  3. Legen Sie den Wert von TargetClaimsExchangeId auf einen benutzerfreundlichen Namen fest.
  4. Fügen Sie ein ClaimsExchange-Element hinzu.
  5. Legen Sie die ID auf den Wert der Zielanspruchsaustausch-ID fest.
  6. Aktualisieren Sie den TechnicalProfileReferenceId-Wert auf die von Ihnen erstellte technische Profil-ID.

Die folgende XML veranschaulicht die Orchestrierung der Benutzerreise mit dem Identitätsanbieter:

    <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>

Schritt 7: Konfigurieren der Richtlinie für die vertrauende Seite

Die Richtlinie der vertrauenden Seite, z. B. SignUpSignIn.xml, spezifiziert den Benutzerweg, den Azure AD B2C durchführt. Suchen Sie innerhalb der vertrauenden Seite das Element DefaultUserJourney. Aktualisieren Sie die ReferenceId so, dass sie mit der Benutzerreise-ID übereinstimmt, in der Sie den Identitätsanbieter hinzugefügt haben.

Im folgenden Beispiel wird die TransmitSUSI für die User Journey auf TransmitSUSI festgelegt:

  <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>

Schritt 8: Hochladen der benutzerdefinierten Richtlinie

Verwenden Sie das Verzeichnis Ihres Azure AD B2C-Mandanten, um die benutzerdefinierte Richtlinie hochzuladen:

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie auf der Portalsymbolleiste "Verzeichnisse + Abonnements" aus.
  3. In den Portaleinstellungen | Seite "Verzeichnisse + Abonnements " in der Verzeichnisnamenliste finden Sie das Azure AD B2C-Verzeichnis, und wählen Sie dann "Wechseln" aus.
  4. Wählen Sie unter "Richtlinien" die Option "Identity Experience Framework" aus.
  5. Wählen Sie "Benutzerdefinierte Richtlinie hochladen" aus, und laden Sie dann die aktualisierten Dateien in der folgenden Reihenfolge hoch:
  • Basisrichtlinie, z. B. TrustFrameworkBase.xml
  • Lokalisierungsrichtlinie, z. B. TrustFrameworkLocalization.xml
  • Erweiterungsrichtlinie, z. B. TrustFrameworkExtensions.xml
  • Richtlinie für die vertrauende Seite z. B. SignUpOrSignIn.xml

Schritt 9: Testen Sie Ihre benutzerdefinierte Richtlinie

Verwenden Sie das Verzeichnis mit Ihrem Azure AD B2C-Mandanten, um Ihre benutzerdefinierte Richtlinie zu testen.

  1. Wählen Sie im Azure AD B2C-Mandanten und unter "Richtlinien" die Option "Identity Experience Framework" aus.
  2. Wählen Sie unter "Benutzerdefinierte Richtlinien""B2C_1A_signup_signin" aus.
  3. Wählen Sie für "Anwendung" die webanwendung aus, die Sie registriert haben. Die Antwort-URL lautet https://jwt.ms.
  4. Wählen Sie Jetzt ausführen aus.
  5. Der Browser wird zur Anmeldeseite von Transmit umgeleitet.
  6. Schließen Sie den Anmeldeablauf ab: Geben Sie Ihre Konto-E-Mail-Adresse ein, und authentifizieren Sie sich mit biometrischen Daten (z. B. Fingerabdruck).
  7. Der Browser wird zu https://jwt.ms mit einem Azure AD B2C-Token umgeleitet.

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln: