Freigeben über


Definieren eines technischen OAuth2-Profils in einer benutzerdefinierten Azure Active Directory B2C-Richtlinie

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.

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.

Azure Active Directory B2C (Azure AD B2C) bietet Unterstützung für den OAuth2-Protokollidentitätsanbieter. OAuth2 ist das primäre Protokoll für die Autorisierung und delegierte Authentifizierung. Weitere Informationen finden Sie unter RFC 6749 The OAuth 2.0 Authorization Framework. Mit einem technischen OAuth2-Profil können Sie einen Verbund mit einem OAuth2-basierten Identitätsanbieter wie Facebook herstellen. Über einen Verbund mit einem Identitätsanbieter können sich Benutzer mit ihren vorhandenen Identitäten aus sozialen Netzwerken oder Unternehmen anmelden.

Protokoll

Das Name-Attribut des Protocol-Elements muss auf OAuth2 festgelegt werden. Das Protokoll für das technische Profil von Facebook-OAUTH lautet OAuth2beispielsweise:

<TechnicalProfile Id="Facebook-OAUTH">
  <DisplayName>Facebook</DisplayName>
  <Protocol Name="OAuth2" />
  ...

Eingabeansprüche

Die Elemente InputClaims und InputClaimsTransformations sind nicht erforderlich. Möglicherweise möchten Sie jedoch weitere Parameter an Ihren Identitätsanbieter senden. Im folgenden Beispiel wird der Autorisierungsanforderung der Parameter domain_hint der Abfragezeichenfolge mit dem Wert contoso.com hinzugefügt.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="domain_hint" DefaultValue="contoso.com" />
</InputClaims>

Ausgabeansprüche

Das OutputClaims-Element enthält eine Liste der Ansprüche, die vom OAuth2-Identitätsanbieter zurückgegeben werden. Sie müssen den Namen des Anspruchs, der in Ihrer Richtlinie definiert ist, dem Namen, der für den Identitätsanbieter definiert wurde, zuordnen. Sie können auch Ansprüche, die nicht vom Identitätsanbieter zurückgegeben wurden, einfügen, sofern Sie das DefaultValue-Attribut festlegen.

Das OutputClaimsTransformations-Element kann eine Auflistung von OutputClaimsTransformation-Elementen enthalten, die verwendet werden, um die Ausgabeansprüche zu ändern oder neue zu generieren.

Das folgende Beispiel zeigt die Ansprüche, die vom Facebook-Identitätsanbieter zurückgegeben werden:

  • Der Anspruch first_name wird dem Anspruch givenName zugeordnet.
  • Der Anspruch last_name wird dem Anspruch surname zugeordnet.
  • Der displayName-Anspruch ohne Namenszuordnung.
  • Dem Anspruch email wird kein Name zugeordnet.

Das technische Profil gibt auch Ansprüche zurück, die vom Identitätsanbieter nicht zurückgegeben werden:

  • Der Anspruch identityProvider enthält den Namen des Identitätsanbieters.
  • Der Anspruch authenticationSource enthält als Standardwert socialIdpAuthentication.
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="id" />
  <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="first_name" />
  <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="last_name" />
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
  <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
  <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="facebook.com" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>

Metadaten des Autorisierungsendpunkts

Der Autorisierungsablauf beginnt, wenn Azure AD B2C den Benutzer an den Endpunkt der OAuth2-Identitätsanbieter /authorize weiterleitet. Der Aufruf des Autorisierungsendpunkts ist der interaktive Teil des Ablaufs, in dem der Benutzer eine Aktion ausführt. An dieser Stelle wird der Benutzer aufgefordert, die Anmeldung beim OAuth2-Identitätsanbieter abzuschließen. Zum Beispiel, indem Sie ihren Benutzernamen und ihr Passwort eingeben.

Azure AD B2C erstellt eine Autorisierungsanforderung, indem es die Client-ID, die Bereiche, den Umleitungs-URI und andere Parameter bereitstellt, die zum Abrufen eines Zugriffstokens vom Identitätsanbieter erforderlich sind. In diesem Abschnitt werden die Metadaten des Autorisierungsendpunkts beschrieben, mit denen die Anforderung an den /authorize Endpunkt des Identity-Providers konfiguriert werden kann.

Die Anforderung an den Autorisierungsendpunkt ist immer HTTP GET. Das folgende Beispiel veranschaulicht einen Aufruf des Autorisierungsendpunkts.

GET https://login.contoso.com/oauth/v2/authorization?
client_id=12345
&response_type=code
&response_mode=query
&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob
&scope=profile%20offline_access
&redirect_uri=https%3a%2f%2fabrikam.b2clogin.com%2fabrikam.onmicrosoft.com%2foauth2%2fauthresp
&state=...

In der folgenden Tabelle sind die Metadaten des Autorisierungsendpunkts aufgeführt.

Merkmal Erforderlich BESCHREIBUNG
authorization_endpoint Ja Die URL des Autorisierungsendpunkts gemäß RFC 6749.
client_id Ja Die Anwendungs-ID des Identitätsanbieters.
AdditionalRequestQueryParameters Nein Zusätzliche Abfrageparameter für Anforderungen. Sie können z. B. zusätzliche Parameter an Ihren Identitätsanbieter senden. Sie können mehrere Parameter mithilfe des Kommatrennzeichens einschließen.
response_mode Nein Die Methode, die der Identitätsanbieter verwendet, um das Ergebnis zurück an Azure AD B2C zu senden. Mögliche Werte: query, form_post (Standard) oder fragment.
scope Nein Der Bereich der Anforderung, der gemäß der Spezifikation des OAuth2-Identitätsanbieters definiert ist. Beispiele: openid, profile und email.
UsePolicyInRedirectUri Nein Gibt an, ob beim Erstellen des Umleitungs-URI eine Richtlinie verwendet werden soll. Wenn Sie Ihre Anwendung im Identitätsanbieter konfigurieren, müssen Sie den Umleitungs-URI angeben. Der Umleitungs-URI verweist auf Azure AD B2C, https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp. Bei Angabe von true müssen Sie einen Umleitungs-URI für jede verwendete Richtlinie hinzufügen. Beispiel: https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp.

Metadaten des Tokenendpunkts

Nachdem der Benutzer seine Authentifizierung am Autorisierungsendpunkt des Identitätsanbieters abgeschlossen hat, wird eine Antwort mit der Autorisierung code an Azure AD B2C zurückgegeben. Azure AD B2C löst den Autorisierungscode für ein Zugriffstoken ein, indem eine POST-Anforderung an den /token Endpunkt des Identitätsanbieters gesendet wird. In diesem Abschnitt werden die Metadaten des Token-Endpunkts beschrieben, mit denen die Anforderung an den /token Endpunkt des Identitätsanbieters konfiguriert werden kann.

Die folgende HTTP-Anforderung zeigt einen Azure AD B2C-Aufruf an den Tokenendpunkt des Identitätsanbieters.

POST https://contoso/oauth2/token 
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&client_id=12345&scope=profile offline_access&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq... 

In der folgenden Tabelle sind die Metadaten des Tokenendpunkts aufgeführt.

Merkmal Erforderlich BESCHREIBUNG
AccessTokenEndpoint Ja Die URL des Tokenendpunkts. Beispiel: https://www.linkedin.com/oauth/v2/accessToken.
HttpBinding Nein Die erwartete HTTP-Bindung an den Tokenendpunkt. Mögliche Werte: GET oder POST.
AccessTokenResponseFormat Nein Das Format des Zugriffstoken-Endpunktaufrufs. Facebook erfordert beispielsweise eine HTTP GET-Methode, aber die Zugriffstokenantwort ist im JSON-Format. Mögliche Werte: Default, Json, und JsonP.
ExtraParamsInAccessTokenEndpointResponse Nein Enthält die zusätzlichen Parameter, die von einigen Identitätsanbietern in der Antwort von AccessTokenEndpoint zurückgegeben werden können. Die Antwort von AccessTokenEndpoint enthält z. B. einen zusätzlichen Parameter, zopenid. B. , der neben dem access_token in einer ClaimsEndpoint-Anforderungsabfragezeichenfolge ein obligatorischer Parameter ist. Mehrere Parameternamen sollten mit Escapezeichen versehen und durch das Komma ',' getrennt werden.
token_endpoint_auth_method Nein Gibt an, wie Azure AD B2C den Authentifizierungsheader an den Tokenendpunkt sendet. Mögliche Werte sind client_secret_post (Standardwert) oder client_secret_basic, private_key_jwt. Weitere Informationen finden Sie im Abschnitt OpenID Connect-Clientauthentifizierung.
token_signing_algorithm Nein Gibt den Signaturalgorithmus an, der verwendet werden soll, wenn token_endpoint_auth_method auf private_key_jwt festgelegt ist. Mögliche Werte: RS256 (Standard) oder RS512.

Konfigurieren der HTTP-Bindungsmethode

Standardmäßig wird für die Anforderung an den Tokenendpunkt HTTP POST verwendet.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">POST</Item>

Der folgende HTTP-Aufruf veranschaulicht einen Aufruf des Tokenendpunkts mithilfe einer HTTP POST-Anforderung:

POST /oauth2/token

client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Für Identitätsanbieter, die die Verwendung der HTTP GET-Methode am /token Endpunkt erfordern, legen Sie die HttpBinding Metadaten auf GETfest. Beachten Sie, dass im folgenden Beispiel der AccessTokenResponseFormat auf jsonfestgelegt ist, da der Tokenendpunkt die Antwort im JSON-Format zurückgibt.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">GET</Item>
<Item Key="AccessTokenResponseFormat">json</Item>
GET /oauth2/token?client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Konfigurieren des Antwortformats für das Zugriffstoken

Für Identitätsanbieter, die die HTTP POST-Methode unterstützen, ist die AccessTokenResponseFormat standardmäßig auf jsonfestgelegt. Wenn der Identitätsanbieter die HTTP GET-Anforderung unterstützt, müssen Sie das Antwortformat des Zugriffstokens explizit auf json "Explizit" festlegen.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">GET</Item>
<Item Key="AccessTokenResponseFormat">json</Item>

Das folgende Beispiel veranschaulicht eine Tokenendpunktantwort im JSON-Format:

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...",
    "token_type": "Bearer",
    "not_before": 1637924390,
    "expires_in": 960000,
}

Konfigurieren der Authentifizierungsmethode

Anforderungen an den Tokenendpunkt erfordern immer eine Authentifizierung. Standardmäßig stellt Azure AD B2C dem Identitätsanbieter Clientanmeldeinformationen zur Verfügung. Standardmäßig ist client_secret_postdie Authentifizierungsmethode , einschließlich der Clientanmeldeinformationen (client_id und client_secret) im Anforderungstext.

Die folgende HTTP-Anforderung an den Tokenendpunkt enthält die client_id und die client_secret in den POST-Daten. Für GET-Anforderungen client_id und die client_secret sind in den Abfragezeichenfolgenparametern enthalten.

POST /oauth2/token

client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Für Identitätsanbieter, die die Verwendung der HTTP-Standardauthentifizierung an ihrem /token Endpunkt erfordern, konfigurieren Sie die token_endpoint_auth_method Metadaten auf client_secret_basic. Bei dieser Art von Authentifizierungsmethode werden die Client-Anmeldeinformationen mithilfe des HTTP-Standardauthentifizierungsschemas an den Identity-Provider übergeben.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="token_endpoint_auth_method">client_secret_basic</Item>

Die folgende HTTP-Anforderung veranschaulicht einen Aufruf des Tokenendpunkts mit HTTP-Standardauthentifizierung. Der Autorisierungsheader enthält die Client-ID und den geheimen Clientschlüssel im Format client_ID:client_secretbase64-codiert.

POST /oauth2/token

Authorization: Basic YWJjZDoxMjM0

redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Konfigurieren Sie für Identitätsanbieter, die die JWT-Authentifizierung mit privatem Schlüssel unterstützen, die token_endpoint_auth_method Metadaten auf private_key_jwt. Bei dieser Art von Authentifizierungsmethode wird das für Azure AD B2C bereitgestellte Zertifikat verwendet, um eine signierte Assertion zu generieren, die über den client_assertion Parameter an den Identitätsanbieter übergeben wird. Der client_assertion_type Satz auf urn:ietf:params:oauth:client-assertion-type:jwt-bearer. Die token_signing_algorithm Metadaten geben den Signaturalgorithmus des JWT an.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="token_endpoint_auth_method">private_key_jwt</Item>
<Item Key="token_signing_algorithm">RS256</Item>

Die folgende HTTP-Anforderung veranschaulicht einen Aufruf des Tokenendpunkts mithilfe der JWT-Authentifizierung mit privatem Schlüssel.

POST /oauth2/token

client_assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IjJFRFg0dWRYeDIxbXNoaXdJVzczMUY3OUZSbFJiUDZXVXJyZmktR1RFeVkifQ.eyJpc3MiOiJhYmNkIiwiZXhwIjoxNjM3OTI5ODY0LCJuYmYiOjE2Mzc5Mjk1NjQsImF1ZCI6Imh0dHBzOi8vNWRlNC0xMDktNjQtMTI0LTUzLm5ncm9rLmlvL2FjY2Vzc190b2tlbiIsImp0aSI6IjVxQWlGV2lEODNDbU1KWWNrejBRdGc9PSIsInN1YiI6ImFiY2QiLCJpYXQiOjE2Mzc5Mjk1NjR9.C4OtRnrLaQatpT5LP45O5Nb418S4v8yZi_C42ld440w&client_id=abcd&client_assertion_type=urn%3aietf%3aparams%3aoauth%3aclient-assertion-type%3ajwt-bearer&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Metadaten des Endpunkts "Benutzerinformationen"

Nachdem Azure AD B2C das Zugriffstoken vom OAuth2-Identitätsanbieter abgerufen hat, wird der Endpunkt für Benutzerinformationen aufgerufen. Der Benutzerinformationsendpunkt, der auch als Anspruchsendpunkt bezeichnet wird, dient zum Abrufen von Ansprüchen über den authentifizierten Benutzer. Azure AD B2C verwendet die Bearertokenauthentifizierung , um sich beim Benutzerinformationsendpunkt des Identitätsanbieters zu authentifizieren. Das Bearertoken ist das Zugriffstoken, das Azure AD B2C vom Endpunkt des Identitätsanbieters /token abruft.

Die Anforderung an den Endpunkt der Benutzerinformationen ist immer HTTP GET. Das Zugriffstoken wird in einem Abfragezeichenfolgenparameter mit dem Namen .access_token Die folgende HTTP-Anforderung zeigt einen Aufruf des Benutzerinfo-Endpunkts mit dem Zugriffstoken im Abfragezeichenfolgenparameter.

GET /oauth2/claims?access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5... 

In der folgenden Tabelle sind die Metadaten des Benutzerinformationsendpunkts aufgeführt.

Merkmal Erforderlich BESCHREIBUNG
ClaimsEndpoint Ja Die URL des Endpunkts für Benutzerinformationen. Beispiel: https://api.linkedin.com/v2/me.
ClaimsEndpointAccessTokenName Nein Der Name des Parameters für die Abfragezeichenfolge des Zugriffstokens. Standardwert: access_token.
ClaimsEndpointFormatName Nein Der Name des Parameters für die Formatabfragezeichenfolge. Sie können z. B. den Namen wie format in diesem LinkedIn-Anspruchsendpunkt https://api.linkedin.com/v1/people/~?format=jsonfestlegen.
ClaimsEndpointFormat Nein Der Wert des Parameters format query string. Sie können z. B. den Wert wie json in diesem LinkedIn-Anspruchsendpunkt https://api.linkedin.com/v1/people/~?format=jsonfestlegen.
BearerTokenTransmissionMethod Nein Gibt an, wie das Token gesendet wird. Die Standardmethode ist eine Abfragezeichenfolge. Um das Token als Anforderungsheader zu senden, legen Sie den Wert auf AuthorizationHeaderfest.
ExtraParamsInClaimsEndpointRequest Nein Enthält die zusätzlichen Parameter, die von einigen Identitätsanbietern in der ClaimsEndpoint-Anforderung zurückgegeben werden können. Mehrere Parameternamen sollten mit Escapezeichen versehen und durch das Komma ',' getrennt werden.

Konfigurieren des Parameters für die Abfragezeichenfolge des Zugriffstokens

Für den Benutzerinfo-Endpunkt muss das Zugriffstoken möglicherweise in einem bestimmten Abfragezeichenfolgenparameter gesendet werden. Um den Namen des Abfragezeichenfolgenparameters zu ändern, der das Zugriffstoken enthält, verwenden Sie die ClaimsEndpointAccessTokenName Metadaten. Im folgenden Beispiel ist der Parameter für die Abfragezeichenfolge des Zugriffstokens auf tokenfestgelegt.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="ClaimsEndpointAccessTokenName">token</Item>

Der folgende HTTP-Aufruf veranschaulicht einen Aufruf des Benutzerinfo-Endpunkts mit ClaimsEndpointAccessTokenName dem Wert :token

GET /oauth2/claims?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Konfigurieren des Anspruchsformats

ClaimsEndpointFormatName Mit und ClaimsEndpointFormat können Sie einen Schlüssel-Wert-Paar-Abfragezeichenfolgenparameter an den Benutzerinfo-Endpunkt senden. Im folgenden Beispiel wird ein Abfragezeichenfolgenparameter mit dem Namen format, mit dem Wert konfiguriert json.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="ClaimsEndpointFormatName">format</Item>
<Item Key="ClaimsEndpointFormat">json</Item>

Die folgende HTTP-Anforderung veranschaulicht einen Aufruf des Benutzerinfo-Endpunkts mit ClaimsEndpointFormatName und ClaimsEndpointFormat konfiguriert.

GET /oauth2/claims?format=json&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Konfigurieren der Übertragungsmethode für Bearertoken

Standardmäßig wird das Zugriffstoken über einen Abfragezeichenfolgenparameter an den Benutzerinformationsendpunkt des Identitätsanbieters gesendet. Um das Token innerhalb des HTTP-Headers Authorization zu senden, legen Sie BearerTokenTransmissionMethod metadata auf AuthorizationHeaderfest.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>

Die folgende HTTP-Anforderung veranschaulicht, wie das Zugriffstoken übergeben wird, wenn BearerTokenTransmissionMethod es auf AuthorizationHeaderfestgelegt ist.

GET /oauth2/claims

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Übergeben von Parametern, die vom Tokenendpunkt zurückgegeben werden

Einige Identitätsanbieter erfordern die Übergabe zusätzlicher Parameter, die vom Tokenendpunkt an den Benutzerinformationsendpunkt zurückgegeben werden. Die Antwort vom Tokenendpunkt enthält z. B. einen Parameter mit dem Namen resource, der (neben dem Zugriffstoken) ein obligatorischer Parameter des Benutzerinformationsendpunkts ist. Verwenden Sie die ExtraParamsInClaimsEndpointRequest Metadaten, um zusätzliche Parameter anzugeben, die übergeben werden sollen. Mehrere Parameternamen sollten mit Escapezeichen versehen und durch das Komma ',' getrennt werden.

Der folgende JSON-Code veranschaulicht eine JSON-Nutzlastrückgabe durch den Tokenendpunkt mit einem Parameter namens resource.

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...",
    "token_type": "Bearer",
    "not_before": 1549647431,
    "expires_in": 960000,
    "resource": "f2a76e08-93f2-4350-833c-965c02483b11"
}

Um den resource Parameter an den Endpunkt der Benutzerinfo zu übergeben, fügen Sie die folgenden Metadaten hinzu:

<Item Key="ExtraParamsInClaimsEndpointRequest">resource</Item>

Die folgende HTTP-Anforderung veranschaulicht, wie der resource Parameter an den Benutzerinfo-Endpunkt übergeben wird.

GET /oauth2/claims?resource=f2a76e08-93f2-4350-833c-965c02483b11&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Endpunkt für das Beenden der Sitzung

Um den Benutzer von der Anwendung abzumelden, leiten Sie den Benutzer an den Azure AD B2C-Abmeldeendpunkt (sowohl für OAuth2 als auch für OpenID Connect) um, oder senden Sie eine ( LogoutRequest für SAML). Azure AD B2C löscht die Sitzung des Benutzers aus dem Browser. Bei einer Abmeldeanforderung versucht Azure AD B2C, sich von allen Verbundidentitätsanbietern abzumelden, über die sich der Benutzer möglicherweise angemeldet hat. Der Abmelde-URI des OAuth2-Identitätsanbieters wird in den end_session_endpoint Metadaten konfiguriert. Wenn sich der Benutzer über Azure AD B2C von Ihrer Anwendung abmeldet, wird ein ausgeblendeter iframe erstellt, der die end_session_endpoint auf seiner Azure AD B2C-Abmeldeseite aufruft.

In der folgenden Tabelle sind die Metadaten des Benutzerinformationsendpunkts aufgeführt.

Merkmal Erforderlich BESCHREIBUNG
end_session_endpoint Ja Die URL des Endpunkts der Endsitzung gemäß RFC 6749.
SingleLogoutEnabled Nein Gibt an, ob das technische Profil bei der Anmeldung versucht, sich beim Verbundidentitätsanbieter abzumelden. Weitere Informationen finden Sie unter Abmelden von der Azure AD B2C-Sitzung. Mögliche Werte: true (Standard) oder false.

Generische OAuth2-Metadaten

In der folgenden Tabelle sind die generischen Metadaten des OAuth2-Identitätsanbieters aufgeführt. Die Metadaten beschreiben, wie das technische OAuth2-Profil die Tokenvalidierung verarbeitet, die Ansprüche abruft und auf Fehlermeldungen reagiert.

Merkmal Erforderlich BESCHREIBUNG
IdTokenAudience Nein Die Zielgruppe von id_token. Wenn angegeben, überprüft Azure AD B2C, ob sich das Token in einem vom Identitätsanbieter zurückgegebenen Anspruch befindet und dem angegebenen Anspruch entspricht.
ProviderName Nein Der Name des Identitätsanbieters.
ResponseErrorCodeParamName Nein Der Name des Parameters, der die Fehlermeldung enthält, die über HTTP 200 zurückgegeben wird (OK).
IncludeClaimResolvingInClaimsHandling   Nein Gibt für Eingabe- und Ausgabeansprüche an, ob die Forderungsauflösung im technischen Profil enthalten ist. Mögliche Werte sind true oder false (Standardwert). Wenn Sie einen Anspruchslöser im technischen Profil verwenden möchten, legen Sie dies auf true.
ResolveJsonPathsInJsonTokens Nein Gibt an, ob das technische Profil JSON-Pfade aufgelöst. Mögliche Werte sind true oder false (Standardwert). Verwenden Sie diese Metadaten, um Daten aus einem geschachtelten JSON-Element zu lesen. Legen Sie in einem OutputClaim das PartnerClaimType JSON-Pfadelement fest, das Sie ausgeben möchten. Beispiel: firstName.localized oder data[0].to[0].email

Kryptografieschlüssel

Das CryptographicKeys-Element enthält das folgende Attribut:

Merkmal Erforderlich BESCHREIBUNG
client_secret Ja Der geheime Clientschlüssel der Anwendung des Identitätsanbieters. Der kryptografische Schlüssel ist nur erforderlich, wenn die Metadaten der response_types auf codefestgelegt sind. Azure AD B2C führt in diesem Fall einen weiteren Aufruf zum Austauschen des Autorisierungscode gegen ein Zugriffstoken durch. Wenn die Metadaten auf id_tokenfestgelegt sind, können Sie den kryptografischen Schlüssel weglassen.
assertion_signing_key Nein Wenn die token_endpoint_auth_method Metadaten auf private_key_jwtfestgelegt sind, geben Sie ein X.509-Zertifikat an, das zum Signieren des JWT-Schlüssels verwendet werden soll. Dieser Schlüssel sollte Ihnen vom OAuth2-Identitätsanbieter zur Verfügung gestellt werden.

Umleitungs-URI

Wenn Sie den Umleitungs-URI Ihres Identitätsanbieters konfigurieren, geben Sie https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/oauth2/authresp an. Stellen Sie sicher, dass Sie den Namen Ihres Mandanten ersetzen {tenant-name} (z. B. contosob2c). Der Umleitungs-URI muss klein geschrieben sein.