Einrichten der Anmeldung für eine bestimmte Microsoft Entra-Organisation in Azure Active Directory B2C

In diesem Artikel erfahren Sie, wie Sie die Anmeldung für Benutzer einer bestimmten Microsoft Entra-Organisation über einen Benutzerflow in Azure AD B2C aktivieren.

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.

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:

Registrieren einer Microsoft Entra-App

Um die Anmeldung für Benutzer*innen mit einem Microsoft Entra-Konto einer bestimmten Microsoft Entra-Organisation in Azure Active Directory B2C (Azure AD B2C) zu ermöglichen, müssen Sie eine Anwendung im Azure-Portal 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 das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Microsoft Entra ID-Mandanten zu wechseln.

  3. Suchen Sie im Azure-Portal nach Microsoft Entra ID, und wählen Sie den Eintrag aus.

  4. Klicken Sie im linken Menü unter Verwalten die Option App-Registrierungen aus.

  5. Wählen Sie + Neue Registrierung aus.

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

  7. Übernehmen Sie für diese Anwendung die Standardauswahl von Nur Konten in diesem Organisationsverzeichnis (Nur Standardverzeichnis – einzelner Tenant).

  8. Übernehmen Sie den Wert Web als Umleitungs-URI, geben Sie die folgende URL in Kleinbuchstaben ein, und ersetzen Sie dabei your-B2C-tenant-name durch den Namen Ihres Azure AD B2C-Mandanten.

    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.

    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.

  9. Wählen Sie Registrieren. Notieren Sie sich die Anwendungs-ID (Client) zur Verwendung in einem späteren Schritt.

  10. Wählen Sie Zertifikate & Geheimnisse und dann Neuer geheimer Clientschlüssel aus.

  11. 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 sich den Wert des Geheimnisses zur Verwendung in einem späteren Schritt.

Konfigurieren von Microsoft Entra ID als Identitätsanbieter

  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 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 Identitätsanbieter und dann Neuer OpenID Connect-Anbieter aus.

  4. Geben Sie einen Namen ein. Geben Sie beispielsweise Contoso Microsoft Entra ID ein.

  5. Geben Sie für Metadaten-URL die folgende URL ein, und ersetzen Sie dabei {tenant} durch den Domänennamen Ihres Microsoft Entra-Mandanten:

    https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration
    

Beispiel: https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration. Wenn Sie eine benutzerdefinierte Domäne verwenden, ersetzen Sie contoso.com in https://login.microsoftonline.com/contoso.com/v2.0/.well-known/openid-configuration durch Ihren benutzerdefinierten Domänennamen.

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

  2. Geben Sie im Feld Geheimer Clientschlüssel den zuvor notierten Wert von Geheimer Clientschlüssel ein.

  3. Geben Sie openid profile als Scope ein.

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

  5. (Optional) Geben Sie als Domänenhinweis die Zeichenfolge contoso.com ein. Weitere Informationen finden Sie unter Einrichten einer direkten Anmeldung mit Azure Active Directory B2C.

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

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

Hinzufügen von Microsoft Entra als Identitätsanbieter zu einem Benutzerflow

Der Microsoft Entra-Identitätsanbieter ist jetzt eingerichtet, er ist jedoch noch auf keiner der Anmeldeseiten verfügbar. So fügen Sie den Microsoft Entra-Identitätsanbieter einem Benutzerflow hinzu:

  1. Wählen Sie in Ihrem Azure AD B2C-Mandanten die Option Benutzerflows aus.
  2. Klicken Sie auf den Benutzerflow, dem Sie Microsoft Entra als Identitätsanbieter hinzufügen möchten.
  3. Wählen Sie unter Einstellungen die Option Identitätsanbieter aus.
  4. Wählen Sie unter Benutzerdefinierte Identitätsanbieter die Option Contoso Microsoft Entra ID aus.
  5. Wählen Sie Speichern aus.
  6. Um die Richtlinie zu testen, wählen Sie Benutzerflow ausführen aus.
  7. Wählen Sie für Anwendung eine Webanwendung aus, die Sie zuvor registriert haben. Als Antwort-URL sollte https://jwt.ms angezeigt werden.
  8. Wählen Sie die Schaltfläche Benutzerflow ausführen aus.
  9. Wählen Sie auf der Registrierungs- oder Anmeldeseite die Option Contoso Microsoft Entra ID aus, um sich mit dem Microsoft Entra Contoso-Konto für „Contoso“ 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 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 aus, 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: ContosoAppSecret. 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_ContosoAppSecret.
  7. Geben Sie im Feld Geheimnis den zuvor aufgezeichneten Wert des geheimen Clientschlüssels ein.
  8. Wählen Sie für Schlüsselverwendung die Option Signature aus.
  9. Wählen Sie Erstellen aus.

Konfigurieren von Microsoft Entra ID als Identitätsanbieter

Damit sich Benutzer mit einem Microsoft Entra-Konto anmelden können, müssen Sie Microsoft Entra ID 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 Microsoft Entra ID als Anspruchsanbieter definieren, indem Sie Microsoft Entra ID zum Element ClaimsProvider („Anspruchsanbieter“) in der Erweiterungsdatei Ihrer Richtlinie 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>Contoso</Domain>
      <DisplayName>Login using Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AADContoso-OpenIdConnect">
          <DisplayName>Contoso Employee</DisplayName>
          <Description>Login with your Contoso account</Description>
          <Protocol Name="OpenIdConnect"/>
          <Metadata>
            <Item Key="METADATA">https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration</Item>
            <Item Key="client_id">00000000-0000-0000-0000-000000000000</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>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_ContosoAppSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/>
            <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid"/>
            <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. Ändern Sie unter dem Element ClaimsProvider den Wert für Domain in einen eindeutigen Wert, der eine Unterscheidung von anderen Identitätsanbietern ermöglicht. Beispiel: Contoso. Am Ende dieser Domäneneinstellung wird nicht .com angefügt.

  5. Aktualisieren Sie unter dem Element ClaimsProvider den Wert für DisplayName in einen Anzeigenamen für den Anspruchsanbieter. Dieser Wert wird derzeit nicht verwendet.

Aktualisieren des technischen Profils

Um ein Token vom Microsoft Entra-Endpunkt zu erhalten, müssen Sie die Protokolle definieren, die Azure AD B2C zur Kommunikation mit Microsoft Entra ID verwenden soll. Dies erfolgt im TechnicalProfile-Element von ClaimsProvider.

  1. Aktualisieren Sie die ID des TechnicalProfile-Elements. Diese ID wird als Verweis auf dieses technische Profil aus anderen Teilen der Richtlinie verwendet, z. B. AADContoso-OpenIdConnect.
  2. Aktualisieren Sie den Wert für DisplayName. Dieser Wert wird auf dem Anmeldebildschirm auf der Anmeldeschaltfläche angezeigt.
  3. Aktualisieren Sie den Wert von Beschreibung.
  4. Microsoft Entra ID verwendet das OpenID Connect-Protokoll. Stellen Sie daher sicher, dass der Wert für ProtokollOpenIdConnect lautet.
  5. Legen Sie den Wert von METADATA auf https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration fest, wobei tenant-name der Name Ihres Microsoft Entra-Mandanten ist. Beispiel: https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration
  6. Legen Sie client_id auf die Anwendungs-ID aus der Anwendungsregistrierung fest.
  7. Aktualisieren Sie unter CryptographicKeys den Wert von StorageReferenceId auf den Namen des zuvor erstellten Richtlinienschlüssels. Beispiel: B2C_1A_ContosoAppSecret.

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="AzureADContosoExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADContosoExchange" TechnicalProfileReferenceId="AADContoso-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 Contoso Employee aus, um sich mit dem Microsoft Entra Contoso-Konto für „Contoso“ 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.

[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 unter Verwendung des Microsoft Entra-Mandanten Ihrer Organisation beim Azure-Portal an. Wenn Sie bereits angemeldet sind, stellen Sie sicher, dass Sie das Verzeichnis verwenden, das Ihren Microsoft Entra-Organisationsmandanten (z. B. Contoso) enthält:
    1. Wählen Sie auf der Symbolleiste des Portals das Symbol Verzeichnisse und Abonnements aus.
    2. Suchen Sie auf der Seite Portaleinstellungen | Verzeichnisse + Abonnements Ihr Microsoft Entra-Verzeichnis in der Liste Verzeichnisname, und wählen Sie dann Wechseln aus.
  2. Suchen Sie im Azure-Portal nach Microsoft Entra ID, und wählen Sie den Eintrag aus.
  3. Klicken Sie im linken Menü unter Verwalten die Option App-Registrierungen aus.
  4. Wählen Sie in der Liste die Anwendung aus, für die Sie optionale Ansprüche konfigurieren möchten, z. B. Azure AD B2C App.
  5. Wählen Sie im Abschnitt Verwalten die Option Tokenkonfiguration aus.
  6. Wählen Sie Optionalen Anspruch hinzufügen aus.
  7. Wählen Sie als Tokentyp die Option ID aus.
  8. Wählen Sie die hinzuzufügenden optionalen Ansprüche (family_name und given_name) aus.
  9. Wählen Sie Hinzufügen. Wenn die Option Microsoft Graph-Profilberechtigung 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 Authentizität Ihrer App

Anhand der Herausgeberüberprüfung können Ihre Benutzer die Authentizität der von Ihnen registrierten App überprüfen. „Überprüfte App“ bedeutet, dass die Identität des Herausgebers der App über das Microsoft Partner Network (MPN) überprüft wurde. Informieren Sie sich darüber, wie Sie Ihre App als vom Herausgeber verifiziert markieren.

Nächste Schritte

Informieren Sie sich darüber, wie Sie das Microsoft Entra-Token an Ihre Anwendung übergeben.