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.
- Ein Benutzer bzw. eine Benutzerin öffnet die Azure AD B2C-Anmeldeseite und meldet sich an oder registriert sich.
- Azure AD B2C leitet Benutzer*innen mithilfe einer OIDC-Anforderung (OpenID Connect) an BindID um.
- BindID authentifiziert Benutzer*innen mithilfe von FIDO2-Biometrie ohne App, z. B. mit dem Fingerabdruck.
- Eine dezentralisierte Authentifizierungsantwort wird an BindID zurückgegeben.
- Die OIDC-Antwort wird an Azure AD B2C übergeben.
- Benutzer*innen wird der Zugriff auf die Anwendung basierend auf den Überprüfungsergebnissen gewährt oder verweigert.
Voraussetzungen
Zunächst benötigen Sie Folgendes:
- Ein Microsoft Entra-Abonnement
- Wenn Sie kein Konto haben, können Sie ein kostenloses Azure-Konto erhalten.
- Ein Azure AD B2C-Mandant, der mit dem Azure-Abonnement verknüpft ist
- Weitere Informationen finden Sie unter Tutorial: Erstellen eines Azure Active Directory B2C-Mandanten.
- Ein BindID-Mandant
- Wechseln Sie zu transmitsecurity.com, um zu beginnen.
- Registrieren einer Webanwendung im Microsoft Azure-Portal
- Benutzerdefinierte Azure AD B2C-Richtlinien
- Wenn Sie die Richtlinien nicht verwenden können, lesen Sie Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure AD B2C.
Registrieren einer App in BindID
Erste Schritte:
- Wechseln Sie zum Konfigurieren Ihrer Anwendung zu developer.bindid.io.
- 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. |
- Bei der Registrierung werden eine Client-ID und ein geheimer Clientschlüssel angezeigt.
- 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.
- Melden Sie sich beim Azure-Portal als globaler Administrator an.
- Wählen Sie auf der Toolbar des Portals Verzeichnisse + Abonnements aus.
- Suchen Sie auf der Seite Portaleinstellungen | Verzeichnisse und Abonnements in der Liste Verzeichnisname Ihr Azure AD B2C-Verzeichnis.
- Wählen Sie Wechseln aus.
- Wählen Sie in der linken oberen Ecke im Azure-Portal die Option Alle Dienste aus.
- Suchen Sie nach Azure AD B2C, und wählen Sie diese Option aus.
- Wählen Sie Identitätsanbieter aus.
- Wählen Sie Neuer OpenID Connect-Anbieter aus.
- Geben Sie einen Namen ein.
- Geben Sie unter Metadaten-URL die URL
https://signin.bindid-sandbox.io/.well-known/openid-configuration
ein. - Geben Sie unter Client-ID die Client-ID ein, die Sie sich notiert haben.
- Geben Sie unter Geheimer Clientschlüssel den geheimen Clientschlüssel ein, den Sie sich notiert haben.
- Geben Sie für den Bereich das
openid email
ein. - Wählen Sie als Antworttyp die Option code aus.
- Wählen Sie als Antwortmodus die Option form_post aus.
- Wählen Sie unter Zuordnung von Identitätsanbieteransprüchen für Benutzer-ID die Option aus
sub
. - Wählen Sie für Email die Option
email
aus. - Wählen Sie Speichern aus.
Erstellen eines Benutzerflows
- Wählen Sie auf Ihrem Azure AD B2C-Mandanten unter Richtlinien die Option Benutzerflows aus.
- Wählen Sie die Option Neuer Benutzerflow aus.
- Wählen Sie den Benutzerflowtyp Registrierung und Anmeldung aus.
- Klicken Sie auf Erstellen.
- Geben Sie einen Namen ein.
- Wählen Sie unter Identitätsanbieter für Lokale Konten die Option Keine aus. Diese Aktion deaktiviert die E-Mail- und kennwortbasierte Authentifizierung.
- Wählen Sie unter Benutzerdefinierte Identitätsanbieter den erstellten BindID-Identitätsanbieter aus, z. B. Anmeldung mit BindID.
- Klicken Sie auf Erstellen.
Testen des Benutzerflows
- Wählen Sie in Ihrem Azure AD B2C-Mandanten die Option Benutzerflows aus.
- Wählen Sie den erstellten Benutzerflow aus, z. B. B2C_1_signupsignin.
- Wählen Sie als Anwendung die Webanwendung aus, die Sie registriert haben. Die Antwort-URL lautet
https://jwt.ms
. - Wählen Sie Benutzerflow ausführen aus.
- Der Browser wird an die Anmeldeseite von BindID umgeleitet.
- Geben Sie die E-Mail-Adresse des registrierten Kontos ein.
- Authentifizieren Sie sich mithilfe von FIDO2-Biometrie ohne App, z. B. mit dem Fingerabdruck.
- 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.
- Melden Sie sich beim Azure-Portal an.
- Wählen Sie auf der Toolbar des Portals Verzeichnisse + Abonnements aus.
- Suchen Sie auf der Seite Portaleinstellungen | Verzeichnisse + Abonnements in der Liste Verzeichnisname das Azure AD B2C-Verzeichnis.
- Wählen Sie Wechseln aus.
- Wählen Sie auf der Übersichtsseite unter Richtlinien die Option Identity Experience Framework aus.
- Wählen Sie Richtlinienschlüssel aus.
- Wählen Sie Hinzufügen.
- Wählen Sie unter Optionen den Eintrag Manuell aus.
- Geben Sie einen Namen ein. Das Präfix
B2C_1A_
wird an den Schlüsselnamen angehängt. - Geben Sie unter Geheimnis den geheimen Clientschlüssel ein, den Sie sich notiert haben.
- Wählen Sie unter SchlüsselverwendungSignatur aus.
- 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:
Ö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
Ersetzen Sie in allen Dateien im Verzeichnis LocalAccounts die Zeichenfolge
yourtenant
durch den Namen Ihres Azure AD B2C-Mandanten.Öffnen Sie die Datei
LocalAccounts/ TrustFrameworkExtensions.xml
.Suchen Sie nach dem Element ClaimsProviders. Falls das Element nicht angezeigt wird, fügen Sie es unter dem Stammelement hinzu.
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>
Legen Sie client_id auf die BindID-Anwendungs-ID, die Sie sich notiert haben, fest.
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:
- Öffnen Sie im Starter-Paket die Datei
LocalAccounts/ TrustFrameworkBase.xml
. - Suchen und kopieren Sie den Inhalt des UserJourney-Elements, das
Id=SignUpOrSignIn
enthält. - Öffnen Sie die Datei
LocalAccounts/ TrustFrameworkExtensions.xml
. - Suchen Sie das Element UserJourneys. Wenn kein Element vorhanden ist, fügen Sie eines hinzu.
- Fügen Sie das UserJourney-Element als untergeordnetes Element des UserJourneys-Elements ein.
- 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.
- Suchen Sie nach dem Orchestrierungsschrittelement, das
Type=CombinedSignInAndSignUp
enthält, oderType=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. - Fügen Sie ein ClaimsProviderSelection-XML-Element hinzu.
- Legen Sie für TargetClaimsExchangeId einen Anzeigenamen fest.
- Fügen Sie ein ClaimsExchange-Element hinzu.
- Legen Sie die Id auf den Wert der Zielanspruchsaustausch-ID fest. Durch diese Aktion wird die BindID-Schaltfläche mit
BindID-SignIn
verknüpft. - 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
- Melden Sie sich beim Azure-Portal an.
- Wählen Sie auf der Toolbar des Portals Verzeichnisse + Abonnements aus.
- Suchen Sie auf der Seite Portaleinstellungen | Verzeichnisse und Abonnements in der Liste Verzeichnisname Ihr Azure AD B2C-Verzeichnis.
- Wählen Sie Wechseln aus.
- Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann aus.
- Wählen Sie unter Richtlinien die Option Identity Experience Framework aus.
- Wählen Sie Benutzerdefinierte Richtlinie hochladen aus.
- 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.
- Öffnen Sie den Azure AD B2C-Mandanten, und wählen Sie unter Richtlinien die Option Identity Experience Framework aus.
- Wählen Sie unter Benutzerdefinierte Richtlinien die Richtlinie B2C_1A_signup_signin aus.
- Wählen Sie als Anwendung die Webanwendung aus, die Sie registriert haben. Die Antwort-URL lautet
https://jwt.ms
. - Wählen Sie Jetzt ausführen aus.
- Der Browser wird an die Anmeldeseite von BindID umgeleitet.
- Geben Sie die E-Mail-Adresse des registrierten Kontos ein.
- Authentifizieren Sie sich mithilfe von FIDO2-Biometrie ohne App, z. B. mit dem Fingerabdruck.
- 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:
- Übersicht über Benutzerdefinierte Azure AD B2C-Richtlinien
- Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure Active Directory B2C
-
TransmitSecurity/azure-ad-b2c-bindid-integration
Weitere Informationen finden Sie unter „Azure AD B2C-Integration“.