Freigeben über


Hinzufügen von AD FS als OpenID Connect-Identitätsanbieter mit benutzerdefinierten 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.

Voraussetzungen

Erstellen einer AD FS-Anwendung

Um die Anmeldung für Benutzer mit einem AD FS-Konto in Azure Active Directory B2C (Azure AD B2C) zu aktivieren, erstellen Sie eine Anwendungsgruppe in Ihrem AD FS. Weitere Informationen finden Sie unter Erstellen einer Webanwendung mit OpenID Connect mit AD FS 2016 und höher

Führen Sie die folgenden Schritte aus, um eine Anwendungsgruppe zu erstellen:

  1. Wählen Sie im Server-Manager"Extras" und dann "AD FS-Verwaltung" aus.
  2. Klicken Sie in „AD FS-Verwaltung“ mit der rechten Maustaste auf Anwendungsgruppen, und wählen Sie Anwendungsgruppe hinzufügen aus.
  3. Gehen Sie auf dem Bildschirm Willkommen des Assistenten für Anwendungsgruppen folgendermaßen vor:
    1. Geben Sie den Namen Ihrer Anwendung ein. Beispiel: Azure AD B2C-Anwendung.
    2. Wählen Sie unterClient-Server Anwendungen den Webbrowser aus, der auf eine Webanwendungsvorlage zugreift .
    3. Wählen Sie Weiteraus.
  4. Gehen Sie auf dem Bildschirm Native Anwendung des Assistenten für Anwendungsgruppen folgendermaßen vor:
    1. Kopieren Sie den Wert für den Clientbezeichner. Der Clientbezeichner ist Ihre AD FS-Anwendungs-ID. Sie benötigen die Anwendungs-ID weiter unten in diesem Artikel.
    2. Geben Sie in Umleitungs-URIhttps://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp ein, und klicken Sie dann auf Hinzufügen. Wenn Sie eine benutzerdefinierte Domäne verwenden, geben Sie die Zeichenfolge https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authrespein. Ersetzen Sie sie your-tenant-name durch den Namen Ihres Mandanten und your-domain-name durch Ihre benutzerdefinierte Domäne.
    3. Wählen Sie "Weiter" und dann "Weiter" und dann " Weiter" aus, um den App-Registrierungs-Assistenten abzuschließen.
    4. Wählen Sie Schließen aus.

Konfigurieren von App-Berechtigungen

Konfigurieren Sie in diesem Schritt die Ansprüche, die die AD FS-Anwendung an Azure AD B2C zurückgibt.

  1. Wählen Sie in den Anwendungsgruppen die von Ihnen erstellte Anwendung aus.

  2. Wählen Sie im Anwendungseigenschaftenfenster unter den Anwendungen die Webanwendung aus. Klicken Sie dann auf Bearbeiten. Screenshot, der zeigt, wie eine Webanwendung bearbeitet wird.

  3. Wählen Sie die Registerkarte Ausstellungstransformationsregeln aus. Wählen Sie anschließend Regel hinzufügen aus.

  4. Wählen Sie in der Vorlage "Anspruchsregel" die Option "LDAP-Attribute als Ansprüche senden" und dann "Weiter" aus.

  5. Geben Sie einen Anspruchsregelnamen an. Wählen Sie für den AttributspeicherActive Directory aus, und fügen Sie die folgenden Ansprüche hinzu.

    LDAP-Attribut Ausgehender Anspruchstyp
    Benutzer-Principal-Name Upn
    Familienname Familienname
    Vorname given_name
    Anzeigename Name

    Beachten Sie, dass einige der Namen nicht im Dropdown-Menü für den Typ des ausgehenden Anspruchs angezeigt werden. Sie müssen sie manuell eingeben (das Dropdown ist bearbeitbar).

  6. Klicken Sie auf Fertig stellen.

  7. Wählen Sie Übernehmen und dann OK aus.

  8. Wählen Sie "OK" erneut aus, um den Vorgang abzuschließen.

Konfigurieren von AD FS als Identitätsanbieter

  1. Melden Sie sich beim Azure-Portal mit einem Konto an, das mindestens über Administratorrechte des externen Identitätsanbieters verfügt.

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

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

  5. Geben Sie einen Namen ein. Beispiel: Contoso.

  6. Geben Sie für die Metadaten-URL die URL des AD FS OpenID Connect-Konfigurationsdokuments ein. Beispiel:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  7. Geben Sie für Client-ID die zuvor notierte Anwendungs-ID ein.

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

  9. Wählen Sie für den Antworttypid_token aus. Daher ist der geheime Clientschlüsselwert nicht erforderlich. Erfahren Sie mehr über die Verwendung von Client-ID und geheimem Schlüssel beim Hinzufügen eines generischen OpenID Connect-Identitätsanbieters.

  10. (Optional) Geben Sie für den Domänenhinweis die Zeichenfolge contoso.comein. Weitere Informationen finden Sie unter Einrichten einer direkten Anmeldung mit Azure Active Directory B2C.

  11. Wählen Sie unter "Anspruchszuordnung des Identitätsanbieters" die folgenden Ansprüche aus:

    • Benutzer-ID: upn
    • Anzeigename: unique_name
    • Vorname: given_name
    • Nachname: family_name
  12. Wählen Sie Speichern aus.

Hinzufügen eines AD FS-Identitätsanbieters zu einem Benutzerablauf

Zu diesem Zeitpunkt wurde der AD FS (Contoso)-Identitätsanbieter eingerichtet, ist aber noch nicht auf einer der Anmeldeseiten verfügbar. So fügen Sie den AD FS-Identitätsanbieter zu einem Benutzerablauf hinzu:

  1. Wählen Sie in Ihrem Azure AD B2C-Mandanten Benutzerflüsse aus.
  2. Wählen Sie den Benutzerablauf aus, zu dem Sie den AD FS-Identitätsanbieter (Contoso) hinzufügen möchten.
  3. Wählen Sie unter den Identitätsanbietern für soziale NetzwerkeContoso aus.
  4. Wählen Sie Speichern aus.
  5. Um Ihre Richtlinie zu testen, wählen Sie "Benutzerablauf ausführen" aus.
  6. Wählen Sie für "Anwendung" die Webanwendung mit dem Namen "testapp1" aus, die Sie zuvor registriert haben. Als Antwort-URL sollte https://jwt.ms angezeigt werden.
  7. Wählen Sie die Schaltfläche " Benutzerfluss ausführen " aus.
  8. Wählen Sie auf der Anmelde- oder Anmeldeseite Contoso aus, um sich mit dem Contoso-Konto anzumelden.

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.

Konfigurieren von AD FS als Identitätsanbieter

Damit sich Benutzer mit einem AD FS-Konto anmelden können, müssen Sie ad FS als Anspruchsanbieter definieren, mit dem Azure AD B2C über einen Endpunkt kommunizieren kann.

  1. Öffnen Sie die Datei TrustFrameworkExtensions.xml.

  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>contoso.com</Domain>
      <DisplayName>Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Contoso-OpenIdConnect">
          <DisplayName>Contoso</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://your-adfs-domain/adfs/.well-known/openid-configuration</Item>
            <Item Key="response_types">id_token</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">Your AD FS application ID</Item>
          </Metadata>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="upn" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="unique_name" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss"  />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Geben Sie für die Metadaten-URL die URL des AD FS OpenID Connect-Konfigurationsdokuments ein. Beispiel:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  5. Legen Sie client_id auf die Anwendungs-ID aus der Anwendungsregistrierung fest.

  6. Speichern Sie die Datei.

Hinzufügen einer Benutzerreise

Der Identitätsanbieter wurde nun eingerichtet, aber er ist noch auf keiner 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 die TrustFrameworkExtensions.xml und suchen 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. Setzen Sie den Wert von TargetClaimsExchangeId auf einen freundlichen Namen.

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

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="ContosoExchange" TechnicalProfileReferenceId="Contoso-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 die CustomSignUpSignIn für die User Journey 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: zuerst die Erweiterungsrichtlinie, zum Beispiel TrustFrameworkExtensions.xml, und dann die Richtlinie der vertrauenden Seite, zum Beispiel 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 Anmelde- oder Anmeldeseite Contoso aus, um sich mit Ihrem Contoso-Konto anzumelden.

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.

Nächste Schritte

Erfahren Sie, wie Sie AD-FS Token an Ihre Anwendung übergeben.