Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
Bevor Sie beginnen, verwenden Sie die Auswahl eines Richtlinientyps oben auf dieser Seite, um den Typ der Richtlinie auszuwählen, die Sie einrichten. Azure Active Directory B2C bietet zwei Methoden zum Definieren der Benutzerinteraktion mit Ihren Anwendungen: vordefinierte Benutzerflows oder vollständig konfigurierbare benutzerdefinierte Richtlinien. Die Schritte, die in diesem Artikel erforderlich sind, unterscheiden sich für jede Methode.
Dieses Feature ist nur für benutzerdefinierte Richtlinien verfügbar. Wählen Sie für Setupschritte im vorherigen Selektor die Option "Benutzerdefinierte Richtlinie " aus.
In diesem Artikel erfahren Sie, wie Sie die Anmeldung für Benutzer mithilfe des mehrinstanzenfähigen Endpunkts für Microsoft Entra ID aktivieren, sodass sich Benutzer aus mehreren Microsoft Entra Mandanten mit Azure AD B2C anmelden können, ohne dass Sie für jeden Mandanten einen Identitätsanbieter konfigurieren müssen. Allerdings können sich Gastmitglieder in diesen Mandanten nicht anmelden. Dazu müssen Sie jeden Mandanten individuell konfigurieren.
Voraussetzungen
- Erstellen Sie einen Benutzerflow, damit sich Benutzer bei Ihrer Anwendung registrieren und anmelden können.
- Registrieren Sie eine Webanwendung.
- Führen Sie die Schritte in "Erste Schritte mit benutzerdefinierten Richtlinien in Active Directory B2C" aus. In diesem Lernprogramm erfahren Sie, wie Sie benutzerdefinierte Richtliniendateien für die Verwendung Ihrer Azure AD B2C-Mandantenkonfiguration aktualisieren.
- Registrieren Sie eine Webanwendung.
Hinweis
In diesem Artikel wird davon ausgegangen, dass das SocialAndLocalAccounts-Starterpaket in den vorherigen Schritten verwendet wird, die in der Voraussetzung erwähnt werden.
Registrieren einer Microsoft Entra-App
Damit sich Benutzer mit einem Microsoft Entra Konto bei Azure AD B2C anmelden können, müssen Sie zunächst über das Azure-Portal eine Anwendung im Microsoft Entra Mandanten erstellen. Weitere Informationen finden Sie unter Registrieren einer Anwendung bei Microsoft Identity Platform.
Melden Sie sich beim Azure-Portal an.
Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie im oberen Menü das Symbol "Einstellungen" aus, um im Menü "Verzeichnisse + Abonnements " zu Ihrem Microsoft Entra-Mandanten zu wechseln.
Wählen Sie "Alle Dienste " in der oberen linken Ecke des Azure-Portals aus, und suchen Sie dann nach App-Registrierungen, und wählen Sie sie aus.
Wählen Sie Neue Registrierung aus.
Geben Sie einen Namen für Ihre Anwendung ein. Beispiel:
Azure AD B2C App.Wählen Sie für diese Anwendung Konten in einem beliebigen Organisationsverzeichnis (Beliebiges Microsoft Entra Verzeichnis – Mehrinstanzenfähig) aus.
Übernehmen Sie für den Umleitungs-URI den Wert Web, und geben Sie die folgende URL in Kleinbuchstaben ein, wobei
your-B2C-tenant-namedurch den Namen Ihres Azure AD B2C-Mandanten ersetzt wird.https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authrespBeispiel:
https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp.Wenn Sie eine benutzerdefinierte Domäne verwenden, geben Sie die Zeichenfolge
https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authrespein. Ersetzen Sieyour-domain-namedurch Ihre benutzerdefinierte Domäne, undyour-tenant-namemit dem Namen Ihres Mandanten.Wählen Sie Registrieren aus. Notieren Sie die Anwendungs-ID (Client-ID) für die Verwendung in einem späteren Schritt.
Wählen Sie Zertifikate und geheime Schlüssel und dann "Neuer geheimer Clientschlüssel" aus.
Geben Sie eine Beschreibung für das Geheimnis ein, wählen Sie ein Ablaufdatum aus, und wählen Sie dann Hinzufügen aus. Notieren Sie den Wert des geheimen Schlüssels für die Verwendung in einem späteren Schritt.
Hinweis
Der geheime Clientschlüssel wird nach diesem Zeitpunkt nicht mehr angezeigt. Wenn Sie keine Aufzeichnung davon erstellen, müssen Sie eine neue Aufzeichnung erstellen.
[Optional] Konfigurieren optionaler Ansprüche
Wenn Sie die Ansprüche family_name und given_name von Microsoft Entra ID erhalten möchten, können Sie optionale Ansprüche für Ihre Anwendung im Azure-Portal oder im Anwendungsmanifest konfigurieren. Weitere Informationen finden Sie unter Bereitstellen optionaler Ansprüche für Ihre Microsoft Entra-App.
- Melden Sie sich beim Azure-Portal an. Suchen Sie nach Microsoft Entra ID, und wählen Sie es aus.
- Wählen Sie im Abschnitt "Verwalten " die Option "App-Registrierungen" aus.
- Wählen Sie die Anwendung aus, für die Sie optionale Ansprüche in der Liste konfigurieren möchten.
- Wählen Sie im Abschnitt "Verwalten " die Option "Tokenkonfiguration" aus.
- Wählen Sie "Optionalen Anspruch hinzufügen" aus.
- Wählen Sie für den Tokentypdie ID aus.
- Wählen Sie die optionalen Ansprüche zum Hinzufügen aus,
family_nameundgiven_name. - Wählen Sie Hinzufügen aus. Wenn die Option Microsoft Graph-E-Mail-Berechtigungen aktivieren (erforderlich zum Anzeigen von Ansprüchen in Token) angezeigt wird, aktivieren Sie diese, und wählen Sie dann erneut Hinzufügen aus.
[Optional] Überprüfen der Echtheit Ihrer App
Die Publisher-Verifizierung hilft Ihren Nutzern, die Authentizität der von Ihnen registrierten App zu verstehen. Eine überprüfte App bedeutet, dass der Herausgeber der App seine Identität mithilfe des Microsoft Partner Network (MPN) überprüft hat. Informieren Sie sich darüber, wie Sie Ihre App als durch den Herausgeber verifiziert markieren.
Richtlinienschlüssel erstellen
Sie müssen jetzt den Anwendungsschlüssel speichern, den Sie in Ihrem Azure AD B2C-Mandanten erstellt haben.
- Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.
- Wählen Sie "Alle Dienste " in der oberen linken Ecke des Azure-Portals aus, und suchen Sie dann nach Azure AD B2C, und wählen Sie sie aus.
- Wählen Sie unter "Richtlinien" die Option "Identity Experience Framework" aus.
- Wählen Sie "Richtlinienschlüssel " und dann "Hinzufügen" aus.
- Wählen Sie unter "Optionen" die Option
Manualaus. - Geben Sie einen Namen für den Richtlinienschlüssel ein. Beispiel:
AADAppSecret. Das PräfixB2C_1A_wird dem Namen Ihres Schlüssels automatisch hinzugefügt, wenn er erstellt wird, sodass die Referenz in der XML-Datei im folgenden Abschnitt auf B2C_1A_AADAppSecret verweist. - Geben Sie in "Geheim" Ihren geheimen Clientschlüssel ein, den Sie zuvor aufgezeichnet haben.
- Wählen Sie für die Schlüsselverwendung die Option
Signatureaus. - Wählen Sie "Erstellen" aus.
Konfigurieren Sie Microsoft Entra ID als Identitätsanbieter.
Damit sich Benutzer mit einem Microsoft Entra-Konto anmelden können, müssen Sie Die Microsoft Entra-ID als Anspruchsanbieter definieren, mit dem Azure AD B2C über einen Endpunkt kommunizieren kann. Der Endpunkt stellt eine Reihe von Ansprüchen bereit, die von Azure AD B2C verwendet werden, um zu überprüfen, ob ein bestimmter Benutzer authentifiziert wurde.
Sie können Microsoft Entra-ID als Anspruchsanbieter definieren, indem Sie microsoft Entra-ID zum ClaimsProvider-Element in der Erweiterungsdatei Ihrer Richtlinie hinzufügen.
Öffnen Sie die Datei SocialAndLocalAccounts/TrustFrameworkExtensions.xml (siehe die Dateien, die Sie in den Voraussetzungen verwendet haben).
Suchen Sie das ClaimsProviders-Element . Wenn sie nicht vorhanden ist, fügen Sie es unter dem Stammelement hinzu.
Fügen Sie einen neuen ClaimsProvider wie folgt hinzu:
<ClaimsProvider> <Domain>commonaad</Domain> <DisplayName>Common AAD</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="AADCommon-OpenIdConnect"> <DisplayName>Multi-Tenant AAD</DisplayName> <Description>Login with your Contoso account</Description> <Protocol Name="OpenIdConnect"/> <Metadata> <Item Key="METADATA">https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration</Item> <!-- Update the Client ID below to the Application ID --> <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item> <Item Key="response_types">code</Item> <Item Key="scope">openid profile</Item> <Item Key="response_mode">form_post</Item> <Item Key="HttpBinding">POST</Item> <Item Key="UsePolicyInRedirectUri">false</Item> <Item Key="DiscoverMetadataByTokenIssuer">true</Item> <!-- The key below allows you to specify each of the Azure AD tenants that can be used to sign in. Update the GUIDs below for each tenant. --> <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000,https://login.microsoftonline.com/11111111-1111-1111-1111-111111111111</Item> <!-- The commented key below specifies that users from any tenant can sign-in. Uncomment if you would like anyone with an Azure AD account to be able to sign in. --> <!-- <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item> --> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_AADAppSecret"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" /> <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <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>Aktualisieren Sie unter dem ClaimsProvider-Element den Wert für Domäne auf einen eindeutigen Wert, der verwendet werden kann, um ihn von anderen Identitätsanbietern zu unterscheiden.
Aktualisieren Sie unter dem TechnicalProfile-Element den Wert für DisplayName, z. B
Multi-Tenant AAD. . Dieser Wert wird auf der Anmeldeschaltfläche auf Ihrer Anmeldeseite angezeigt.Legen Sie client_id auf die Anwendungs-ID der mehrinstanzenfähigen Microsoft Entra Anwendung fest, die Sie zuvor registriert haben.
Aktualisieren Sie unter CryptographicKeys den Wert von StorageReferenceId auf den Namen des zuvor erstellten Richtlinienschlüssels. Beispiel:
B2C_1A_AADAppSecret.
Zugriff einschränken auf
Die Verwendung https://login.microsoftonline.com/ von als Wert für ValidTokenIssuerPrefixes ermöglicht es allen Microsoft Entra-Benutzern, sich bei Ihrer Anwendung anzumelden. Aktualisieren Sie die Liste der gültigen Tokenaussteller, und beschränken Sie den Zugriff auf eine bestimmte Liste von Microsoft Entra Mandantenbenutzern, die sich anmelden können.
Um die Werte abzurufen, sehen Sie sich die OpenID Connect-Ermittlungsmetadaten für jeden Microsoft Entra Mandanten an, von dem aus sich Benutzer anmelden sollen. Das Format der Metadaten-URL ähnelt dem von https://login.microsoftonline.com/your-tenant/v2.0/.well-known/openid-configuration, wobei your-tenant der Name Ihres Microsoft Entra Mandanten ist. Beispiel:
https://login.microsoftonline.com/fabrikam.onmicrosoft.com/v2.0/.well-known/openid-configuration
Führen Sie die folgenden Schritte für jeden Microsoft Entra Mandanten aus, der für die Anmeldung verwendet werden soll:
- Öffnen Sie Ihren Browser, und wechseln Sie zur OpenID Connect-Metadaten-URL für den Mandanten. Suchen Sie das
issuerObjekt und notieren Sie seinen Wert. Es sollte ähnlich aussehen wiehttps://login.microsoftonline.com/ aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0. - Kopieren Sie den Wert, und fügen Sie ihn in den Schlüssel ValidTokenIssuerPrefixes ein . Trennen Sie mehrere Aussteller durch ein Komma. Ein Beispiel mit zwei Ausstellern wird im vorherigen
ClaimsProviderXML-Beispiel angezeigt.
Hinzufügen einer Benutzerreise
Zum jetzigen Zeitpunkt wurde der Identitätsanbieter eingerichtet, ist aber noch nicht auf einer der Anmeldeseiten verfügbar. Wenn Sie nicht über eine eigene benutzerdefinierte Benutzerreise verfügen, erstellen Sie ein Duplikat einer vorhandenen Benutzerreise für Vorlagen, andernfalls fahren Sie mit dem nächsten Schritt fort.
- Öffnen Sie die TrustFrameworkBase.xml Datei aus dem Startpaket.
- Suchen und kopieren Sie den gesamten Inhalt des UserJourney-Elements, das
Id="SignUpOrSignIn"enthält. - Öffnen Sie TrustFrameworkExtensions.xml und finden Sie das UserJourneys-Element. Wenn das Element nicht vorhanden ist, fügen Sie eins hinzu.
- Fügen Sie den gesamten Inhalt des UserJourney-Elements ein, das Sie als untergeordnetes Element des UserJourneys-Elements kopiert haben .
- Benennen Sie die ID der User Journey um. Beispiel:
Id="CustomSignUpSignIn".
Fügen Sie den Identitätsanbieter zu einem Benutzerablauf hinzu
Nachdem Sie nun über eine Benutzerreise verfügen, fügen Sie den neuen Identitätsanbieter zur Benutzerreise hinzu. Sie fügen zuerst eine Anmeldeschaltfläche hinzu und verknüpfen dann die Schaltfläche mit einer Aktion. Die Aktion ist das technische Profil, das Sie zuvor erstellt haben.
Suchen Sie nach dem Orchestrierungsschrittelement, das
Type="CombinedSignInAndSignUp"enthält, oderType="ClaimsProviderSelection"in der User Journey. Es ist in der Regel der erste Orchestrierungsschritt. Das ClaimsProviderSelections-Element enthält eine Liste von Identitätsanbietern, mit denen sich ein Benutzer anmelden kann. Die Reihenfolge der Elemente steuert die Reihenfolge der Anmeldeschaltflächen, die dem Benutzer angezeigt werden. Fügen Sie ein ClaimsProviderSelection-XML-Element hinzu. Legen Sie den Wert von TargetClaimsExchangeId auf einen benutzerfreundlichen Namen fest.Fügen Sie im nächsten Orchestrierungsschritt ein ClaimsExchange-Element hinzu. Legen Sie die ID auf den Wert der Zielansprücheaustausch-ID fest. Aktualisieren Sie den Wert von TechnicalProfileReferenceId auf die ID des zuvor erstellten technischen Profils.
Der folgende XML-Code veranschaulicht die ersten beiden Orchestrierungsschritte einer Benutzerreise mit dem Identitätsanbieter:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="AzureADCommonExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="AzureADCommonExchange" TechnicalProfileReferenceId="AADCommon-OpenIdConnect" />
</ClaimsExchanges>
</OrchestrationStep>
Konfigurieren einer Richtlinie für die vertrauende Seite
Die Richtlinie der vertrauenden Seite, z. B. SignUpSignIn.xml, gibt die Benutzerreise an, die Azure AD B2C ausführt. Suchen Sie das DefaultUserJourney-Element in Vertrauende Seite. 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 für den CustomSignUpSignIn Benutzerablauf die ReferenceId auf CustomSignUpSignIn festgelegt.
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Hochladen der benutzerdefinierten Richtlinie
- Melden Sie sich beim Azure-Portal an.
- Wählen Sie auf der Portalsymbolleiste das Symbol "Verzeichnis + Abonnement " und dann das Verzeichnis aus, das Ihren Azure AD B2C-Mandanten enthält.
- 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, und laden Sie dann die beiden geänderten Richtliniendateien in der folgenden Reihenfolge hoch: die Erweiterungsrichtlinie, z.B.
TrustFrameworkExtensions.xml, dann die Richtlinie der vertrauenden Seite, z.B.SignUpSignIn.xml.
Testen der benutzerdefinierten Richtlinie
- Wählen Sie die Richtliniendatei für die vertrauende Seite aus, z. B.
B2C_1A_signup_signin. - Wählen Sie für "Anwendung" eine Webanwendung aus, die Sie zuvor registriert haben. Als Antwort-URL sollte
https://jwt.msangezeigt werden. - Wählen Sie die Schaltfläche " Jetzt ausführen " aus.
- Wählen Sie auf der Registrierungs- oder Anmeldeseite die Option Allgemeine Microsoft Entra ID aus, um sich mit dem Microsoft Entra Konto anzumelden.
Um die mehrinstanzenfähige Anmeldefunktion zu testen, führen Sie die letzten beiden Schritte mit den Anmeldeinformationen für einen Benutzer aus, der mit einem anderen Microsoft Entra Mandanten vorhanden ist. Kopieren Sie den Endpunkt Jetzt ausführen , und öffnen Sie ihn in einem privaten Browserfenster, z. B. im Inkognitomodus in Google Chrome oder in einem InPrivate-Fenster in Microsoft Edge. Wenn Sie in einem privaten Browserfenster öffnen, können Sie die vollständige User Journey testen, indem Sie keine derzeit zwischengespeicherten Microsoft Entra Anmeldeinformationen verwenden.
Wenn der Anmeldevorgang erfolgreich ist, wird Ihr Browser zu https://jwt.ms umgeleitet, wo der Inhalt des von Azure AD B2C zurückgegebenen Tokens angezeigt wird.
Siehe auch
- Erfahren Sie, wie Sie das Microsoft Entra-Token an Ihre Anwendung übergeben.
- Sehen Sie sich die Live-Demo zum Microsoft Entra-Verbund mit mehreren Mandanten an, und erfahren Sie in der Live-Demo, wie Sie das Zugriffstoken an Microsoft Entra übergeben