Freigeben über


Einrichten der Anmeldung für eine mehrinstanzenfähige Microsoft Entra ID mithilfe benutzerdefinierter Richtlinien in Azure Active Directory B2C

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

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.

  1. Melden Sie sich beim Azure-Portal an.

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

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

  4. Wählen Sie Neue Registrierung aus.

  5. Geben Sie einen Namen für Ihre Anwendung ein. Beispiel: Azure AD B2C App.

  6. Wählen Sie für diese Anwendung Konten in einem beliebigen Organisationsverzeichnis (Beliebiges Microsoft Entra Verzeichnis – Mehrinstanzenfähig) aus.

  7. Übernehmen Sie für den Umleitungs-URI den Wert Web, und geben Sie die folgende URL in Kleinbuchstaben ein, wobei your-B2C-tenant-name durch den Namen Ihres Azure AD B2C-Mandanten ersetzt wird.

    https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
    

    Beispiel: 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 Sie your-domain-name durch Ihre benutzerdefinierte Domäne, und your-tenant-name mit dem Namen Ihres Mandanten.

  8. Wählen Sie Registrieren aus. Notieren Sie die Anwendungs-ID (Client-ID) für die Verwendung in einem späteren Schritt.

  9. Wählen Sie Zertifikate und geheime Schlüssel und dann "Neuer geheimer Clientschlüssel" aus.

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

  1. Melden Sie sich beim Azure-Portal an. Suchen Sie nach Microsoft Entra ID, und wählen Sie es aus.
  2. Wählen Sie im Abschnitt "Verwalten " die Option "App-Registrierungen" aus.
  3. Wählen Sie die Anwendung aus, für die Sie optionale Ansprüche in der Liste konfigurieren möchten.
  4. Wählen Sie im Abschnitt "Verwalten " die Option "Tokenkonfiguration" aus.
  5. Wählen Sie "Optionalen Anspruch hinzufügen" aus.
  6. Wählen Sie für den Tokentypdie ID aus.
  7. Wählen Sie die optionalen Ansprüche zum Hinzufügen aus, family_name und given_name.
  8. 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.

  1. 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.
  2. 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.
  3. Wählen Sie unter "Richtlinien" die Option "Identity Experience Framework" aus.
  4. Wählen Sie "Richtlinienschlüssel " und dann "Hinzufügen" aus.
  5. Wählen Sie unter "Optionen" die Option Manualaus.
  6. Geben Sie einen Namen für den Richtlinienschlüssel ein. Beispiel: AADAppSecret. Das Präfix B2C_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.
  7. Geben Sie in "Geheim" Ihren geheimen Clientschlüssel ein, den Sie zuvor aufgezeichnet haben.
  8. Wählen Sie für die Schlüsselverwendung die Option Signatureaus.
  9. 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.

  1. Öffnen Sie die Datei SocialAndLocalAccounts/TrustFrameworkExtensions.xml (siehe die Dateien, die Sie in den Voraussetzungen verwendet haben).

  2. Suchen Sie das ClaimsProviders-Element . Wenn sie nicht vorhanden ist, fügen Sie es unter dem Stammelement hinzu.

  3. 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>
    
  4. 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.

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

  6. Legen Sie client_id auf die Anwendungs-ID der mehrinstanzenfähigen Microsoft Entra Anwendung fest, die Sie zuvor registriert haben.

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

  1. Öffnen Sie Ihren Browser, und wechseln Sie zur OpenID Connect-Metadaten-URL für den Mandanten. Suchen Sie das issuer Objekt und notieren Sie seinen Wert. Es sollte ähnlich aussehen wie https://login.microsoftonline.com/ aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0.
  2. 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 ClaimsProvider XML-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.

  1. Öffnen Sie die TrustFrameworkBase.xml Datei aus dem Startpaket.
  2. Suchen und kopieren Sie den gesamten Inhalt des UserJourney-Elements, das Id="SignUpOrSignIn" enthält.
  3. Öffnen Sie TrustFrameworkExtensions.xml und finden Sie das UserJourneys-Element. Wenn das Element nicht vorhanden ist, fügen Sie eins hinzu.
  4. Fügen Sie den gesamten Inhalt des UserJourney-Elements ein, das Sie als untergeordnetes Element des UserJourneys-Elements kopiert haben .
  5. 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.

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

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

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie auf der Portalsymbolleiste das Symbol "Verzeichnis + Abonnement " und dann das Verzeichnis aus, das Ihren Azure AD B2C-Mandanten enthält.
  3. Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann 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 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

  1. Wählen Sie die Richtliniendatei für die vertrauende Seite aus, z. B. B2C_1A_signup_signin.
  2. Wählen Sie für "Anwendung" eine Webanwendung aus, die Sie zuvor registriert haben. Als Antwort-URL sollte https://jwt.ms angezeigt werden.
  3. Wählen Sie die Schaltfläche " Jetzt ausführen " aus.
  4. 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