Einrichten der Registrierung und Anmeldung mit einem Azure AD B2C-Konto von einem anderen Azure AD B2C-Mandanten

Bevor Sie beginnen, verwenden Sie den Auswahlpunkt Richtlinientyp wählen, um die Art der Richtlinie auszuwählen, die Sie einrichten möchten. 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.

Hinweis

In Azure Active Directory B2C sind benutzerdefinierte Richtlinien in erster Linie für komplexe Szenarien konzipiert. Für die meisten Szenarien empfehlen wir die Verwendung von integrierten Benutzerflows. Informieren Sie sich, sofern noch nicht geschehen, unter Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure Active Directory B2C über das Starter Pack für benutzerdefinierte Richtlinien.

Übersicht

In diesem Artikel wird beschrieben, wie Sie einen Verbund mit einem anderen Azure AD B2C-Mandanten einrichten. Wenn Ihre Anwendungen durch Ihren Azure AD B2C-Mandanten geschützt sind, ermöglicht dies Benutzern aus anderen Azure AD B2C-Mandanten die Anmeldung mit ihren vorhandenen Konten. Im folgenden Diagramm können sich Benutzer mit einem Konto, das vom Azure AD B2C-Mandanten von Fabrikam verwaltet wird, bei einer durch den Azure AD B2C-Mandanten von Contoso geschützten Anwendung anmelden. In diesem Fall muss das Benutzerkonto im Fabrikam-Mandanten vorhanden sein, bevor eine durch Azure AD B2C von Contoso geschützte Anwendung versuchen kann, sich anzumelden

Azure AD B2C federation with another Azure AD B2C tenant

Voraussetzungen

Überprüfen der Herausgeberdomäne einer Anwendung

Ab November 2020 werden neue Anwendungsregistrierungen in der Benutzereinwilligungsaufforderung als nicht überprüft angezeigt, es sei denn, die Herausgeberdomäne der Anwendung wurde überprüftund die Identität des Unternehmens wurde durch das Microsoft Partner Network überprüft und der Anwendung zugeordnet. (Hier finden Sie weitere Informationen zu dieser Änderung.) Beachten Sie, dass für Azure AD B2C-Benutzerflows die Domäne des Herausgebers nur angezeigt wird, wenn ein Microsoft-Konto oder ein anderer Microsoft Entra-Mandant als Identitätsanbieter verwendet wird. Gehen Sie wie folgt vor, um diese neuen Anforderungen zu erfüllen:

  1. Überprüfen Sie Ihre Unternehmensidentität mit Ihrem Microsoft Partner Network-Konto (MPN-Konto). Bei diesem Prozess werden Informationen zu Ihrem Unternehmen und zum primären Kontakt Ihres Unternehmens überprüft.
  2. Schließen Sie mithilfe einer der folgenden Optionen die Herausgeberüberprüfung ab, um Ihr MPN-Konto Ihrer App-Registrierung zuzuordnen:

Erstellen einer Azure AD B2C-Anwendung

Gehen Sie wie folgt vor, um die Anmeldung für Benutzer mit einem Konto von einem anderen Azure AD B2C-Mandanten (z. B. Fabrikam) in Ihrem Azure AD B2C-Mandanten (z. B. Contoso) zu ermöglichen:

  1. Erstellen Sie einen Benutzerflowoder eine benutzerdefinierte Richtlinie.
  2. Erstellen Sie dann eine Anwendung in Azure AD B2C, wie in diesem Abschnitt beschrieben.

Gehen Sie wie folgt vor, um eine Anwendung zu erstellen.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C Mandanten zu wechseln.

  3. Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann aus.

  4. Wählen Sie App-Registrierungen aus, und wählen Sie dann Registrierung einer neuen Anwendung aus.

  5. Geben Sie unter Name einen Namen für die Anwendung ein. Beispielsweise ContosoApp.

  6. Wählen Sie unter Unterstützte Kontotypen die Option Konten in einem beliebigen Identitätsanbieter oder Organisationsverzeichnis (zum Authentifizieren von Benutzern mit Benutzerflows) aus.

  7. Wählen Sie unter Umleitungs-URI die Option Web aus, und geben Sie dann die folgende URL in Kleinbuchstaben ein, und ersetzen Sie dabei your-B2C-tenant-name durch den Namen Ihres Azure AD B2C-Mandanten (z. B. Contoso).

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

    Beispiel: https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/authresp.

    Bei Verwendung einer benutzerdefinierten Domäne geben Sie https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp ein. Ersetzen Sie your-domain-name durch Ihre benutzerdefinierte Domäne und your-tenant-name durch den Namen Ihres Mandanten.

  8. Aktivieren Sie unter „Berechtigungen“ das Kontrollkästchen Administratoreinwilligung für openid- und offline_access-Berechtigungen erteilen.

  9. Wählen Sie Registrieren.

  10. Wählen Sie auf der Seite Azure AD B2C – App-Registrierungen die von Ihnen erstellte Anwendung (z. B. ContosoApp) aus.

  11. Notieren Sie die Anwendungs-ID (Client) , die auf der Seite „Übersicht“ der Anwendung angezeigt wird. Sie benötigen diesen Wert beim Konfigurieren des Identitätsanbieters im nächsten Abschnitt.

  12. Wählen Sie im linken Menü unter Verwalten die Option Zertifikate und Geheimnisse aus.

  13. Wählen Sie Neuer geheimer Clientschlüssel.

  14. Geben Sie im Feld Beschreibung eine Beschreibung für das Clientgeheimnis ein. Beispielsweise clientsecret1.

  15. Wählen Sie unter Läuft ab einen Zeitraum aus, für den das Geheimnis gültig ist, und wählen Sie dann Hinzufügen aus.

  16. Notieren Sie den Wert des Geheimnisses. Sie benötigen diesen Wert beim Konfigurieren des Identitätsanbieters im nächsten Abschnitt.

Konfigurieren von Azure AD B2C als Identitätsanbieter

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C Mandanten zu wechseln.

  3. Wählen Sie links oben im Azure-Portal die Option Alle Dienste aus, suchen Sie nach Azure AD B2C, und wählen Sie dann diese Option aus.

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

  5. Geben Sie einen Namen ein. Geben Sie beispielsweise Fabrikam ein.

  6. Geben Sie für Metadaten-URL die folgende URL ein, und ersetzen Sie dabei {tenant} durch den Domänennamen Ihres Azure AD B2C-Mandanten (z. B. Fabrikam). Ersetzen Sie {policy} durch den Namen der im anderen Mandanten konfigurierten Richtlinie:

    https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration
    

    Beispiel: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.

  7. Geben Sie für Client-ID die zuvor notierte Anwendungs-ID ein.

  8. Geben Sie im Feld Geheimer Clientschlüssel den zuvor notierten geheimen Clientschlüssel ein.

  9. Geben Sie für den Bereich das openid ein.

  10. Übernehmen Sie die Standardwerte für Antworttyp und Antwortmodus.

  11. (Optional) Geben Sie für den Domänenhinweis den Namen der Domäne ein, die Sie für die direkte Anmeldung verwenden möchten. Beispielsweise fabrikam.com.

  12. Wählen Sie unter Zuordnung von Identitätsanbieteransprüchen die folgenden Ansprüche aus:

    • Benutzer-ID: Abonnement
    • Anzeigename: name
    • Vorname: given_name
    • Nachname: family_name
    • E-Mail: email
  13. Wählen Sie Speichern aus.

Hinzufügen von Azure AD B2C als Identitätsanbieter zu einem Benutzerflow

  1. Wählen Sie in Ihrem Azure AD B2C-Mandanten die Option Benutzerflows aus.
  2. Klicken Sie auf den Benutzerflow, dem Sie Azure AD B2C als Identitätsanbieter hinzufügen möchten.
  3. Wählen Sie unter Soziales Netzwerk als Identitätsanbieter die Option Fabrikam aus.
  4. Wählen Sie Speichern aus.
  5. Um die Richtlinie zu testen, wählen Sie Benutzerflow ausführen aus.
  6. Wählen Sie für Anwendung die Webanwendung testapp1 aus, die Sie zuvor registriert haben. Als Antwort-URL sollte https://jwt.ms angezeigt werden.
  7. Wählen Sie die Schaltfläche Benutzerflow ausführen aus.
  8. Wählen Sie auf der Registrierungs- oder Anmeldeseite die Option Fabrikam aus, um sich mit dem anderen Azure AD B2C-Mandanten anzumelden.

Wenn der Anmeldevorgang erfolgreich verlaufen ist, wird der Browser an https://jwt.ms umgeleitet und dadurch der Inhalt des von Azure AD B2C zurückgegebenen Tokens angezeigt.

Erstellen eines Richtlinienschlüssels

Sie müssen den zuvor von Ihnen erstellten Anwendungsschlüssel in Ihrem Azure AD B2C-Mandanten speichern.

  1. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C Mandanten zu wechseln.
  2. Wählen Sie links oben im Azure-Portal die Option Alle Dienste aus, suchen Sie nach Azure AD B2C, und wählen Sie dann diese Option 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. Klicken Sie unter Optionen auf Manual.
  6. Geben Sie einen Namen für den Richtlinienschlüssel ein. Beispiel: FabrikamAppSecret. Das Präfix B2C_1A_ wird dem Namen Ihres Schlüssels bei der Erstellung automatisch hinzugefügt. Im XML-Code im folgenden Abschnitt lautet der entsprechende Verweis darauf daher B2C_1A_FabrikamAppSecret.
  7. Geben Sie im Feld Geheimnis den zuvor notierten geheimen Clientschlüssel ein.
  8. Wählen Sie für Schlüsselverwendung die Option Signature aus.
  9. Klicken Sie auf Erstellen.

Konfigurieren von Azure AD B2C als Identitätsanbieter

Um Benutzern die Anmeldung mit einem Konto von einem anderen Azure AD B2C-Mandanten (Fabrikam) zu ermöglichen, müssen Sie den anderen Azure AD B2C-Mandanten als Anspruchsanbieter definieren, mit dem Azure AD B2C über einen Endpunkt kommunizieren kann. Der Endpunkt bietet eine Reihe von Ansprüchen, mit denen Azure AD B2C überprüft, ob ein bestimmter Benutzer authentifiziert wurde.

Sie können Azure AD B2C als Anspruchsanbieter definieren, indem Sie in der Erweiterungsdatei Ihrer Richtlinie dem Element ClaimsProvider den Namen „Azure AD B2C“ hinzufügen.

  1. Öffnen Sie die Datei TrustFrameworkExtensions.xml.

  2. Suchen Sie nach dem Element ClaimsProviders. Falls das Element nicht vorhanden sein sollte, fügen Sie es unter dem Stammelement hinzu.

  3. Fügen Sie ein neues ClaimsProvider-Element wie folgt hinzu:

    <ClaimsProvider>
      <Domain>fabrikam.com</Domain>
      <DisplayName>Federation with Fabrikam tenant</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AzureADB2CFabrikam-OpenIdConnect">
        <DisplayName>Fabrikam</DisplayName>
        <Protocol Name="OpenIdConnect"/>
        <Metadata>
          <!-- Update the Client ID below to the Application ID -->
          <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
          <!-- Update the metadata URL with the other Azure AD B2C tenant name and policy name -->
          <Item Key="METADATA">https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration</Item>
          <Item Key="UsePolicyInRedirectUri">false</Item>
          <Item Key="response_types">code</Item>
          <Item Key="scope">openid</Item>
          <Item Key="response_mode">form_post</Item>
          <Item Key="HttpBinding">POST</Item>
        </Metadata>
        <CryptographicKeys>
          <Key Id="client_secret" StorageReferenceId="B2C_1A_FabrikamAppSecret"/>
        </CryptographicKeys>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
          <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
          <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
          <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
          <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
          <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss"  />
          <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          <OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails"/>    
        </OutputClaims>
        <OutputClaimsTransformations>
          <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
          <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
          <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
        </OutputClaimsTransformations>
        <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
      </TechnicalProfile>
     </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Aktualisieren Sie die folgenden XML-Elemente mit dem entsprechenden Wert:

    XML-Element Wert
    ClaimsProvider\Domain Der Name der Domäne, die für die direkte Anmeldung verwendet wird. Geben Sie den Namen der Domäne ein, die Sie für die direkte Anmeldung verwenden möchten. Beispielsweise fabrikam.com.
    TechnicalProfile\DisplayName Dieser Wert wird auf dem Anmeldebildschirm auf der Anmeldeschaltfläche angezeigt. Beispielsweise Fabrikam.
    Metadata\client_id Die Anwendungs-ID des Identitätsanbieters. Aktualisieren Sie die Client-ID mit der Anwendungs-ID, die Sie zuvor im anderen Azure AD B2C-Mandanten erstellt haben.
    Metadata\METADATA Eine URL, die auf ein Konfigurationsdokument für den OpenID Connect-Identitätsanbieter verweist, das auch als bekannter OpenID-Konfigurationsendpunkt bezeichnet wird. Geben Sie die folgende URL ein, und ersetzen Sie dabei {tenant} durch den Domänennamen des anderen Azure AD B2C-Mandanten (Fabrikam). Ersetzen Sie {tenant} durch den Namen der Richtlinie, die Sie im anderen Mandanten konfiguriert haben, und ersetzen Sie {policy] durch den Richtliniennamen: https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration. Beispiel: https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.
    CryptographicKeys Ändern Sie den Wert von StorageReferenceId in den Namen des zuvor erstellten Richtlinienschlüssels. Beispiel: B2C_1A_FabrikamAppSecret.

Hinzufügen einer User Journey

Der Identitätsanbieter wurde nun eingerichtet, aber er ist noch auf keiner der Anmeldeseiten verfügbar. Wenn Sie nicht über eine eigene benutzerdefinierte User Journey verfügen, erstellen Sie ein Duplikat einer vorhandenen User Journey-Vorlage, und fahren Sie andernfalls mit dem nächsten Schritt fort.

  1. Öffnen Sie die Datei TrustFrameworkBase.xml aus dem Starter Pack.
  2. Suchen und kopieren Sie den gesamten Inhalt des UserJourney-Elements, das Id="SignUpOrSignIn" enthält.
  3. Öffnen Sie die Datei TrustFrameworkExtensions.xml, und suchen Sie nach dem UserJourneys-Element. Wenn das Element nicht vorhanden ist, fügen Sie ein solches hinzu.
  4. Fügen Sie den gesamten Inhalt des kopierten UserJourney-Element als untergeordnetes Element des UserJourneys-Elements ein.
  5. Benennen Sie die ID der User Journey um. Beispiel: Id="CustomSignUpSignIn".

Hinzufügen des Identitätsanbieters zu einer User Journey

Nachdem Sie nun über eine User Journey verfügen, fügen Sie den neuen Identitätsanbieter der User Journey hinzu. Fügen Sie zunächst eine Anmeldeschaltfläche hinzu, und verknüpfen Sie 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. Dies ist in der Regel der erste Orchestrierungsschritt. Das ClaimsProviderSelections-Element enthält eine Liste mit Identitätsanbietern, mit denen sich ein Benutzer anmelden kann. Die Reihenfolge der Elemente gibt die Reihenfolge der Anmeldeschaltflächen vor, die dem Benutzer angezeigt werden. Fügen Sie ein ClaimsProviderSelection-XML-Element hinzu. Legen Sie für TargetClaimsExchangeId einen Anzeigenamen fest.

  2. Fügen Sie im nächsten Orchestrierungsschritt ein ClaimsExchange-Element hinzu. Legen Sie die ID auf den Wert der Zielanspruchs-Austausch-ID fest. Ändern Sie den Wert von TechnicalProfileReferenceId in die ID des technischen Profils, das Sie zuvor erstellt haben.

Der folgende XML-Code veranschaulicht die ersten beiden Orchestrierungsschritte einer User Journey mit dem Identitätsanbieter:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="AzureADB2CFabrikamExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADB2CFabrikamExchange" TechnicalProfileReferenceId="AzureADB2CFabrikam-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

Konfigurieren einer Richtlinie für die vertrauende Seite

Die Richtlinie für die vertrauende Seite (z. B. SignUpSignIn.xml) gibt die User Journey an, die Azure AD B2C ausführt. Suchen Sie das DefaultUserJourney-Element in Vertrauende Seite. Aktualisieren Sie ReferenceId auf die ID der User Journey, in der Sie den Identitätsanbieter hinzugefügt haben.

Im folgenden Beispiel wird die ReferenceId für die User Journey CustomSignUpSignIn 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 Symbolleiste des Portals das Symbol Verzeichnis und Abonnement aus, und wählen Sie 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: zuerst die Erweiterungsrichtlinie (z. B. TrustFrameworkExtensions.xml) und dann die Richtlinie für die vertrauende 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 Fabrikam aus, um sich mit dem anderen Azure AD B2C-Mandanten anzumelden.

Wenn der Anmeldevorgang erfolgreich verlaufen ist, wird der Browser an https://jwt.ms umgeleitet und dadurch der Inhalt des von Azure AD B2C zurückgegebenen Tokens angezeigt.

Nächste Schritte

Erfahren Sie, wie Sie das andere Azure AD B2C-Token an Ihre Anwendung übergeben.