Einrichten der Registrierung und Anmeldung mit einem Microsoft-Konto mithilfe von Azure Active Directory B2C

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

Erstellen einer Microsoft-Kontoanwendung

Um die Anmeldung für Benutzer*innen mit einem Microsoft-Konto 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. Wenn Sie noch kein Microsoft-Konto haben, können Sie unter https://www.live.com/ eins 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 aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Microsoft Entra ID-Mandanten zu wechseln.

  3. Klicken Sie links oben im Azure-Portal auf Alle Dienste, suchen Sie nach App-Registrierungen, und wählen Sie dann diese Option aus.

  4. Wählen Sie Neue Registrierung aus.

  5. Geben Sie einen Namen für Ihre Anwendung ein. Zum Beispiel MSAapp1.

  6. Wählen Sie unter Unterstützte Kontotypen die Option Persönliche Microsoft-Konten (z. B. Skype, Xbox) aus.

    Weitere Informationen zur Auswahl anderer Kontotypen finden Sie unter Schnellstart: Registrieren einer Anwendung bei der Microsoft Identity Platform.

  7. Wählen Sie unter Umleitungs-URI (optional) die Option Web aus, und geben Sie https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp ein. Bei Verwendung einer benutzerdefinierten Domäne geben Sie https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp ein. Ersetzen Sie your-tenant-name durch den Namen Ihres Azure AD B2C-Mandanten und your-domain-name durch Ihre benutzerdefinierte Domäne.

  8. Wählen Sie Registrieren aus.

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

  10. Wählen Sie Zertifikate & Geheimnisse aus.

  11. Klicken Sie auf Neuer geheimer Clientschlüssel.

  12. Geben Sie eine Beschreibung für das Geheimnis ein (z.B. Anwendungskennwort 1), und klicken Sie dann auf Hinzufügen.

  13. Notieren Sie das in der Spalte Wert angezeigte Anwendungskennwort. Sie benötigen den geheimen Clientschlüssel beim Konfigurieren des Identitätsanbieters im nächsten Abschnitt.

Konfigurieren von Microsoft als Identitätsanbieter

  1. Melden Sie sich beim Azure-Portal als globaler Administrator Ihres Azure AD B2C-Mandanten 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 Azure AD B2C-Mandanten zu wechseln.
  3. Klicken Sie links oben im Azure-Portal auf Alle Dienste, suchen Sie nach Azure AD B2C, und klicken Sie darauf.
  4. Wählen Sie Identitätsanbieter und dann Microsoft-Konto aus.
  5. Geben Sie einen Namen ein. Beispiel: MSA.
  6. Geben Sie für die Client-ID die Anwendungs-ID (Client) der Microsoft Entra-Anwendung ein, die Sie zuvor erstellt haben.
  7. Geben Sie für Geheimer Clientschlüssel den zuvor notierten geheimen Clientschlüssel ein.
  8. Wählen Sie Speichern aus.

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

Der Microsoft-Identitätsanbieter ist jetzt eingerichtet, er ist jedoch noch auf keiner der Anmeldeseiten verfügbar. So fügen Sie den Microsoft-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 als Identitätsanbieter hinzufügen möchten.
  3. Wählen Sie unter Soziales Netzwerk als Identitätsanbieter die Option Microsoft-Konto 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 Microsoft aus, um sich mit dem Microsoft-Konto 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.

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 diese Lösung aus.
  2. Wählen Sie im Abschnitt Verwalten die Option App-Registrierungen aus.
  3. Wählen Sie in der Liste die Anwendung aus, für die Sie optionale Ansprüche konfigurieren möchten.
  4. Wählen Sie im Abschnitt Verwalten die Option Tokenkonfiguration (Vorschau) aus.
  5. Wählen Sie Optionalen Anspruch hinzufügen aus.
  6. Wählen Sie den Tokentyp aus, den Sie konfigurieren möchten.
  7. Wählen Sie die hinzuzufügenden optionalen Ansprüche aus.
  8. Klicken Sie auf Hinzufügen.

Erstellen eines Richtlinienschlüssels

Da Sie die Anwendung nun in Ihrem Microsoft Entra-Mandanten erstellt haben, müssen Sie den geheimen Clientschlüssel der Anwendung in Ihrem Azure AD B2C-Mandanten speichern.

  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 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 auf der Seite „Übersicht“ die Option Framework für die Identitätsfunktion aus.
  5. Klicken Sie erst auf Richtlinienschlüssel und anschließend auf Hinzufügen.
  6. Klicken Sie unter Optionen auf Manual.
  7. Geben Sie einen Namen für den Richtlinienschlüssel ein. Beispiel: MSASecret. Dem Namen Ihres Schlüssels wird automatisch das Präfix B2C_1A_ hinzugefügt.
  8. Geben Sie unter Geheimnis den geheimen Clientschlüssel ein, den Sie im vorherigen Abschnitt notiert haben.
  9. Wählen Sie für Schlüsselverwendung die Option Signature aus.
  10. Klicken Sie auf Erstellen.

Konfigurieren von Microsoft als Identitätsanbieter

Damit sich Benutzer mit einem Microsoft-Konto anmelden können, müssen Sie das Konto 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 in der Erweiterungsdatei Ihrer Richtlinie das Element ClaimsProvider hinzufügen.

  1. Öffnen Sie die Richtliniendatei 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>live.com</Domain>
      <DisplayName>Microsoft Account</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="MSA-MicrosoftAccount-OpenIdConnect">
          <DisplayName>Microsoft Account</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="ProviderName">https://login.live.com</Item>
            <Item Key="METADATA">https://login.live.com/.well-known/openid-configuration</Item>
            <Item Key="response_types">code</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid profile email</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="client_id">Your Microsoft application client ID</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_MSASecret" />
          </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" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
            <OutputClaim ClaimTypeReferenceId="email" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Ersetzen Sie den Wert von client_id durch die zuvor notierte Application (client) ID (Anwendungs-ID (Client)) der Microsoft Entra-Anwendung.

  5. Speichern Sie die Datei .

Sie haben Ihre Richtlinie jetzt so konfiguriert, dass Azure AD B2C mit Ihrer Microsoft-Kontoanwendung in Microsoft Entra ID kommunizieren kann.

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

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="MicrosoftAccountExchange" TechnicalProfileReferenceId="MSA-MicrosoftAccount-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 Microsoft aus, um sich mit dem Microsoft-Konto 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.