Freigeben über


Konfigurieren von Transmit Security mit Azure Active Directory B2C für die kennwortlose Authentifizierung

In diesem Tutorial erfahren Sie, wie Sie die Azure Active Directory B2C-Authentifizierung (Azure AD B2C) in BindID von Transmit Security, eine kennwortlose Authentifizierungslösung, integrieren. BindID verwendet eine sichere, biometrische FIDO2-Authentifizierung (Fast Identity Online) für eine zuverlässige Omni-Channel-Authentifizierung. Die Lösung gewährleistet einen reibungslosen Anmeldevorgang für Kunden über alle Geräte und Kanäle hinweg und reduziert gleichzeitig Betrug, Phishing und die Wiederverwendung von Anmeldeinformationen.

Beschreibung des Szenarios

Das folgende Architekturdiagramm veranschaulicht die Implementierung.

Diagramm der BindID- und Azure AD B2C-Architektur

  1. Ein Benutzer bzw. eine Benutzerin öffnet die Azure AD B2C-Anmeldeseite und meldet sich an oder registriert sich.
  2. Azure AD B2C leitet Benutzer*innen mithilfe einer OIDC-Anforderung (OpenID Connect) an BindID um.
  3. BindID authentifiziert Benutzer*innen mithilfe von FIDO2-Biometrie ohne App, z. B. mit dem Fingerabdruck.
  4. Eine dezentralisierte Authentifizierungsantwort wird an BindID zurückgegeben.
  5. Die OIDC-Antwort wird an Azure AD B2C übergeben.
  6. Benutzer*innen wird der Zugriff auf die Anwendung basierend auf den Überprüfungsergebnissen gewährt oder verweigert.

Voraussetzungen

Zunächst benötigen Sie Folgendes:

Registrieren einer App in BindID

Erste Schritte:

  1. Wechseln Sie zum Konfigurieren Ihrer Anwendung zu developer.bindid.io.
  2. Fügen Sie eine Anwendung im BindID Admin Portal hinzu. Sie müssen sich anmelden.
Eigenschaft BESCHREIBUNG
Name Anwendungsname
Domain Geben Sie your-B2C-tenant-name.onmicrosoft.com ein. Ersetzen Sie your-B2C-tenant durch Ihren Azure AD B2C-Mandanten.
Umleitungs-URIs https://jwt.ms/
Umleitungs-URLs Geben Sie https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp ein. Ersetzen Sie your-B2C-tenant durch Ihren Azure AD B2C-Mandanten. Wenn Sie eine benutzerdefinierte Domäne verwenden, ersetzen Sie your-B2C-tenant-name.b2clogin.com durch Ihre benutzerdefinierte Domäne.
  1. Bei der Registrierung werden eine Client-ID und ein geheimer Clientschlüssel angezeigt.
  2. Notieren Sie die Werte für die spätere Verwendung.

Konfigurieren von BindID als Identitätsanbieter in Azure AD B2C

Verwenden Sie bei den folgenden Anleitungen das Verzeichnis mit Ihrem Azure AD B2C-Mandanten.

  1. Melden Sie sich beim Azure-Portal als globaler Administrator an.
  2. Wählen Sie auf der Toolbar des Portals Verzeichnisse + Abonnements aus.
  3. Suchen Sie auf der Seite Portaleinstellungen | Verzeichnisse und Abonnements in der Liste Verzeichnisname Ihr Azure AD B2C-Verzeichnis.
  4. Wählen Sie Wechseln aus.
  5. Wählen Sie in der linken oberen Ecke im Azure-Portal die Option Alle Dienste aus.
  6. Suchen Sie nach Azure AD B2C, und wählen Sie diese Option aus.
  7. Wählen Sie Identitätsanbieter aus.
  8. Wählen Sie Neuer OpenID Connect-Anbieter aus.
  9. Geben Sie einen Namen ein.
  10. Geben Sie unter Metadaten-URL die URL https://signin.bindid-sandbox.io/.well-known/openid-configuration ein.
  11. Geben Sie unter Client-ID die Client-ID ein, die Sie sich notiert haben.
  12. Geben Sie unter Geheimer Clientschlüssel den geheimen Clientschlüssel ein, den Sie sich notiert haben.
  13. Geben Sie für den Bereich das openid email ein.
  14. Wählen Sie als Antworttyp die Option code aus.
  15. Wählen Sie als Antwortmodus die Option form_post aus.
  16. Wählen Sie unter Zuordnung von Identitätsanbieteransprüchen für Benutzer-ID die Option aus sub.
  17. Wählen Sie für Email die Option email aus.
  18. Wählen Sie Speichern aus.

Erstellen eines Benutzerflows

  1. Wählen Sie auf Ihrem Azure AD B2C-Mandanten unter Richtlinien die Option Benutzerflows aus.
  2. Wählen Sie die Option Neuer Benutzerflow aus.
  3. Wählen Sie den Benutzerflowtyp Registrierung und Anmeldung aus.
  4. Klicken Sie auf Erstellen.
  5. Geben Sie einen Namen ein.
  6. Wählen Sie unter Identitätsanbieter für Lokale Konten die Option Keine aus. Diese Aktion deaktiviert die E-Mail- und kennwortbasierte Authentifizierung.
  7. Wählen Sie unter Benutzerdefinierte Identitätsanbieter den erstellten BindID-Identitätsanbieter aus, z. B. Anmeldung mit BindID.
  8. Klicken Sie auf Erstellen.

Testen des Benutzerflows

  1. Wählen Sie in Ihrem Azure AD B2C-Mandanten die Option Benutzerflows aus.
  2. Wählen Sie den erstellten Benutzerflow aus, z. B. B2C_1_signupsignin.
  3. Wählen Sie als Anwendung die Webanwendung aus, die Sie registriert haben. Die Antwort-URL lautet https://jwt.ms.
  4. Wählen Sie Benutzerflow ausführen aus.
  5. Der Browser wird an die Anmeldeseite von BindID umgeleitet.
  6. Geben Sie die E-Mail-Adresse des registrierten Kontos ein.
  7. Authentifizieren Sie sich mithilfe von FIDO2-Biometrie ohne App, z. B. mit dem Fingerabdruck.
  8. Der Browser wird an https://jwt.ms umgeleitet. Der Inhalt für das von Azure AD B2C zurückgegebene Token wird angezeigt.

Erstellen eines BindID-Richtlinienschlüssels

Fügen Sie den geheimen Clientschlüssel der BindID-Anwendung als Richtlinienschlüssel hinzu. Verwenden Sie bei den folgenden Anleitungen das Verzeichnis mit Ihrem Azure AD B2C-Mandanten.

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie auf der Toolbar des Portals Verzeichnisse + Abonnements aus.
  3. Suchen Sie auf der Seite Portaleinstellungen | Verzeichnisse + Abonnements in der Liste Verzeichnisname das Azure AD B2C-Verzeichnis.
  4. Wählen Sie Wechseln aus.
  5. Wählen Sie auf der Übersichtsseite unter Richtlinien die Option Identity Experience Framework aus.
  6. Wählen Sie Richtlinienschlüssel aus.
  7. Wählen Sie Hinzufügen.
  8. Wählen Sie unter Optionen den Eintrag Manuell aus.
  9. Geben Sie einen Namen ein. Das Präfix B2C_1A_ wird an den Schlüsselnamen angehängt.
  10. Geben Sie unter Geheimnis den geheimen Clientschlüssel ein, den Sie sich notiert haben.
  11. Wählen Sie unter SchlüsselverwendungSignatur aus.
  12. Klicken Sie auf Erstellen.

Konfigurieren von BindID als Identitätsanbieter

Um das Anmelden mit BindID zu ermöglichen, definieren Sie BindID als Anspruchsanbieter, mit dem Azure AD B2C über einen Endpunkt kommuniziert. Der Endpunkt stellt Ansprüche bereit, die von Azure AD B2C zum Überprüfen der Benutzerauthentifizierung mit einer digitalen Identität auf dem Gerät verwendet werden.

Fügen Sie BindID als Anspruchsanbieter hinzu. Für den Einstieg beziehen Sie die Starter Packs für benutzerdefinierte Richtlinien von GitHub, und aktualisieren Sie dann die XML-Dateien im Starter Pack „SocialAndLocalAccounts“ mit dem Namen Ihres Azure AD B2C-Mandanten:

  1. Öffnen Sie den ZIP-Ordner active-directory-b2c-custom-policy-starterpack-main.zip, oder klonen Sie das Repository:

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

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

  4. Suchen Sie nach dem Element ClaimsProviders. Falls das Element nicht angezeigt wird, fügen Sie es unter dem Stammelement hinzu.

  5. Fügen Sie ein neues ClaimsProvider-Element wie im folgenden Beispiel hinzu:

     <ClaimsProvider>
         <Domain>signin.bindid-sandbox.io</Domain>
         <DisplayName>BindID</DisplayName>
         <TechnicalProfiles>
           <TechnicalProfile Id="BindID-OpenIdConnect">
             <DisplayName>BindID</DisplayName>
             <Protocol Name="OpenIdConnect" />
             <Metadata>
               <Item Key="METADATA">https://signin.bindid-sandbox.io/.well-known/openid-configuration</Item>
                <!-- Update the Client ID below to the BindID Application ID -->
               <Item Key="client_id">00000000-0000-0000-0000-000000000000</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_BindIDClientSecret" />
             </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>    
    
  6. Legen Sie client_id auf die BindID-Anwendungs-ID, die Sie sich notiert haben, fest.

  7. Wählen Sie Speichern aus.

Hinzufügen einer User Journey

Der Identitätsanbieter wird nicht auf den Anmeldeseiten angezeigt. Wenn Sie über eine benutzerdefinierte User Journey verfügen, fahren Sie mit dem Hinzufügen des Identitätsanbieters zu einer User Journey fort, andernfalls erstellen Sie ein Duplikat einer User Journey aus einer Vorlage:

  1. Öffnen Sie im Starter-Paket die Datei LocalAccounts/ TrustFrameworkBase.xml.
  2. Suchen und kopieren Sie den Inhalt des UserJourney-Elements, das Id=SignUpOrSignIn enthält.
  3. Öffnen Sie die Datei LocalAccounts/ TrustFrameworkExtensions.xml.
  4. Suchen Sie das Element UserJourneys. Wenn kein Element vorhanden ist, fügen Sie eines hinzu.
  5. Fügen Sie das UserJourney-Element als untergeordnetes Element des UserJourneys-Elements ein.
  6. Benennen Sie die ID der User Journey um.

Hinzufügen des Identitätsanbieters zu einer User Journey

Fügen Sie der User Journey den neuen Identitätsanbieter hinzu.

  1. Suchen Sie nach dem Orchestrierungsschrittelement, das Type=CombinedSignInAndSignUp enthält, oder Type=ClaimsProviderSelection in der User Journey. Dies ist in der Regel der erste Orchestrierungsschritt. Das ClaimsProviderSelections-Element enthält eine Identitätsanbieterliste für die Benutzeranmeldung. Die Reihenfolge der Elemente bestimmt die Reihenfolge der Anmeldeschaltflächen.
  2. Fügen Sie ein ClaimsProviderSelection-XML-Element hinzu.
  3. Legen Sie für TargetClaimsExchangeId einen Anzeigenamen fest.
  4. Fügen Sie ein ClaimsExchange-Element hinzu.
  5. Legen Sie die Id auf den Wert der Zielanspruchsaustausch-ID fest. Durch diese Aktion wird die BindID-Schaltfläche mit BindID-SignIn verknüpft.
  6. Aktualisieren Sie den Wert TechnicalProfileReferenceId auf die von Ihnen erstellte ID des technischen Profils.

Der folgende XML-Code veranschaulicht die Orchestrierung einer User Journey mit dem Identitätsanbieter.

    <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
      <ClaimsProviderSelections>
        ...
        <ClaimsProviderSelection TargetClaimsExchangeId="BindIDExchange" />
      </ClaimsProviderSelections>
      ...
    </OrchestrationStep>
    
    <OrchestrationStep Order="2" Type="ClaimsExchange">
      ...
      <ClaimsExchanges>
        <ClaimsExchange Id="BindIDExchange" TechnicalProfileReferenceId="BindID-OpenIdConnect" />
      </ClaimsExchanges>
    </OrchestrationStep>

Konfigurieren einer Richtlinie für die vertrauende Seite

Die Richtlinie für die vertrauende Seite, z. B. SignUpOrSignIn.xml, gibt die von Azure AD B2C ausgeführte User Journey an. Sie können steuern, welche Ansprüche an Ihre Anwendung übergeben werden, indem Sie das OutputClaims-Element des TechnicalProfile-Elements PolicyProfile anpassen. In diesem Tutorial erhält die Anwendung Benutzerattribute wie Anzeigename, Vorname, Nachname, E-Mail-Adresse, Objekt-ID, Identitätsanbieter und Mandanten-ID.

Weitere Informationen finden Sie unter Azure-Samples/active-directory-b2c-custom-policy-starterpack.

  <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignInWithBindID" />
    <TechnicalProfile Id="BindID-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>

Hochladen der benutzerdefinierten Richtlinie

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie auf der Toolbar des Portals Verzeichnisse + Abonnements aus.
  3. Suchen Sie auf der Seite Portaleinstellungen | Verzeichnisse und Abonnements in der Liste Verzeichnisname Ihr Azure AD B2C-Verzeichnis.
  4. Wählen Sie Wechseln aus.
  5. Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann aus.
  6. Wählen Sie unter Richtlinien die Option Identity Experience Framework aus.
  7. Wählen Sie Benutzerdefinierte Richtlinie hochladen aus.
  8. Laden Sie die Dateien aus dem Starter Pack LocalAccounts 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

Testen der benutzerdefinierten Richtlinie

Verwenden Sie bei den folgenden Anleitungen das Verzeichnis mit Ihrem Azure AD B2C-Mandanten.

  1. Öffnen Sie den Azure AD B2C-Mandanten, und wählen Sie unter Richtlinien die Option Identity Experience Framework aus.
  2. Wählen Sie unter Benutzerdefinierte Richtlinien die Richtlinie B2C_1A_signup_signin aus.
  3. Wählen Sie als 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 an die Anmeldeseite von BindID umgeleitet.
  6. Geben Sie die E-Mail-Adresse des registrierten Kontos ein.
  7. Authentifizieren Sie sich mithilfe von FIDO2-Biometrie ohne App, z. B. mit dem Fingerabdruck.
  8. Der Browser wird an https://jwt.ms umgeleitet. Der von Azure AD B2C zurückgegebenen Tokeninhalt wird angezeigt.

Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln: