Udostępnij za pośrednictwem


Definiowanie profilu technicznego OAuth2 w zasadach niestandardowych usługi Azure Active Directory B2C

Uwaga

W usłudze Azure Active Directory B2C zasady niestandardowe są przeznaczone głównie do rozwiązywania złożonych scenariuszy. W przypadku większości scenariuszy zalecamy użycie wbudowanych przepływów użytkownika. Jeśli to nie zrobiono, zapoznaj się z niestandardowym pakietem startowym zasad w temacie Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C.

Usługa Azure Active Directory B2C (Azure AD B2C) zapewnia obsługę dostawcy tożsamości protokołu OAuth2. OAuth2 to podstawowy protokół autoryzacji i uwierzytelniania delegowanego. Aby uzyskać więcej informacji, zobacz RFC 6749 OAuth 2.0 Authorization Framework. Profil techniczny OAuth2 umożliwia federację z dostawcą tożsamości opartym na protokole OAuth2, takim jak Facebook. Federowanie za pomocą dostawcy tożsamości umożliwia użytkownikom logowanie się przy użyciu istniejących tożsamości społecznościowych lub przedsiębiorstwa.

Protokół

Atrybut Name elementu Protocol musi być ustawiony na OAuth2wartość . Na przykład protokół profilu technicznego Facebook-OAUTH to OAuth2:

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

Oświadczenia wejściowe

Elementy InputClaims i InputClaimsTransformations nie są wymagane. Możesz jednak wysłać więcej parametrów do dostawcy tożsamości. Poniższy przykład dodaje parametr ciągu zapytania domain_hint z wartością contoso.com żądania autoryzacji.

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

Oświadczenia wyjściowe

Element OutputClaims zawiera listę oświadczeń zwróconych przez dostawcę tożsamości OAuth2. Być może trzeba będzie zamapować nazwę oświadczenia zdefiniowanego w zasadach na nazwę zdefiniowaną w dostawcy tożsamości. Możesz również uwzględnić oświadczenia, które nie są zwracane przez dostawcę DefaultValue tożsamości, o ile ustawisz atrybut.

Element OutputClaimsTransformations może zawierać kolekcję elementów OutputClaimsTransformation , które są używane do modyfikowania oświadczeń wyjściowych lub generowania nowych.

W poniższym przykładzie przedstawiono oświadczenia zwrócone przez dostawcę tożsamości Serwisu Facebook:

  • Oświadczenie first_name jest mapowane na oświadczenie givenName .
  • Roszczenie last_name jest mapowane na roszczenie o nazwisko .
  • Oświadczenie displayName bez mapowania nazw.
  • Oświadczenie e-mail bez mapowania nazw.

Profil techniczny zwraca również oświadczenia, które nie są zwracane przez dostawcę tożsamości:

  • Oświadczenie identityProvider zawierające nazwę dostawcy tożsamości.
  • Oświadczenie authenticationSource z wartością domyślną 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>

Metadane punktu końcowego autoryzacji

Przepływ autoryzacji rozpoczyna się, gdy Azure AD B2C kieruje użytkownika do punktu końcowego dostawców /authorize tożsamości OAuth2. Wywołanie punktu końcowego autoryzacji jest interaktywną częścią przepływu, w której użytkownik podejmuje działania. W tym momencie użytkownik zostanie poproszony o ukończenie logowania u dostawcy tożsamości OAuth2. Na przykład przez wprowadzenie nazwy użytkownika i hasła.

Azure AD B2C tworzy żądanie autoryzacji, podając identyfikator klienta, zakresy, identyfikator URI przekierowania i inne parametry, które muszą uzyskać token dostępu od dostawcy tożsamości. W tej sekcji opisano metadane punktu końcowego autoryzacji, które umożliwiają skonfigurowanie żądania do /authorize punktu końcowego dostawcy tożsamości.

Żądanie punktu końcowego autoryzacji jest zawsze http GET. W poniższym przykładzie pokazano wywołanie punktu końcowego autoryzacji.

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

W poniższej tabeli wymieniono metadane punktu końcowego autoryzacji.

Atrybut Wymagane Opis
authorization_endpoint Tak Adres URL punktu końcowego autoryzacji zgodnie z specyfikacją RFC 6749.
client_id Tak Identyfikator aplikacji dostawcy tożsamości.
AdditionalRequestQueryParameters Nie Dodatkowe parametry zapytania żądania. Na przykład możesz wysłać dodatkowe parametry do dostawcy tożsamości. Można uwzględnić wiele parametrów przy użyciu ogranicznika przecinka.
response_mode Nie Metoda używana przez dostawcę tożsamości do wysyłania wyniku z powrotem do usługi Azure AD B2C. Możliwe wartości: query, form_post (wartość domyślna) lub fragment.
scope Nie Zakres żądania zdefiniowanego zgodnie ze specyfikacją dostawcy tożsamości OAuth2. Na przykład openid, profilei email.
UsePolicyInRedirectUri Nie Wskazuje, czy należy używać zasad podczas konstruowania identyfikatora URI przekierowania. Podczas konfigurowania aplikacji u dostawcy tożsamości należy określić identyfikator URI przekierowania. Identyfikator URI przekierowania wskazuje Azure AD B2C, https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp. Jeśli określisz truewartość , musisz dodać identyfikator URI przekierowania dla każdej używanej zasady. Na przykład: https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp.

Metadane punktu końcowego tokenu

Po zakończeniu uwierzytelniania przez użytkownika w punkcie końcowym autoryzacji dostawcy tożsamości zostanie zwrócona odpowiedź zawierająca autoryzację code do Azure AD B2C. Azure AD B2C wykonuje kod autoryzacji tokenu dostępu przez wysłanie żądania POST do /token punktu końcowego dostawcy tożsamości. W tej sekcji opisano metadane punktu końcowego tokenu, które umożliwiają skonfigurowanie żądania do /token punktu końcowego dostawcy tożsamości.

Następujące żądanie HTTP pokazuje wywołanie Azure AD B2C do punktu końcowego tokenu dostawcy tożsamości.

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

W poniższej tabeli wymieniono metadane punktu końcowego tokenu.

Atrybut Wymagane Opis
AccessTokenEndpoint Tak Adres URL punktu końcowego tokenu. Na przykład https://www.linkedin.com/oauth/v2/accessToken.
HttpBinding Nie Oczekiwane powiązanie HTTP z punktem końcowym tokenu. Możliwe wartości: GET lub POST.
AccessTokenResponseFormat Nie Format wywołania punktu końcowego tokenu dostępu. Na przykład Facebook wymaga metody HTTP GET, ale odpowiedź tokenu dostępu jest w formacie JSON. Możliwe wartości: Default, Jsoni JsonP.
ExtraParamsInAccessTokenEndpointResponse Nie Zawiera dodatkowe parametry, które można zwrócić w odpowiedzi z AccessTokenEndpoint przez niektórych dostawców tożsamości. Na przykład odpowiedź z accessTokenEndpoint zawiera dodatkowy parametr, taki jak openid, który jest obowiązkowym parametrem oprócz access_token w ciągu zapytania żądania ClaimsEndpoint . Wiele nazw parametrów należy unikać i rozdzielać przecinkami "", ogranicznik.
token_endpoint_auth_method Nie Określa, jak Azure AD B2C wysyła nagłówek uwierzytelniania do punktu końcowego tokenu. Możliwe wartości: client_secret_post (wartość domyślna) i client_secret_basic, private_key_jwt. Aby uzyskać więcej informacji, zobacz sekcję Uwierzytelnianie klienta OpenID Connect.
token_signing_algorithm Nie Określa algorytm podpisywania, który ma być używany, gdy token_endpoint_auth_method jest ustawiony na private_key_jwtwartość . Możliwe wartości: RS256 (wartość domyślna) lub RS512.

Konfigurowanie metody powiązania HTTP

Domyślnie żądanie do punktu końcowego tokenu używa protokołu HTTP POST.

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

Następujące wywołanie HTTP demonstruje wywołanie punktu końcowego tokenu przy użyciu żądania HTTP POST:

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

W przypadku dostawców tożsamości, którzy wymagają użycia metody HTTP GET w /token punkcie końcowym, ustaw HttpBinding metadane na GETwartość . Uwaga: w poniższym przykładzie AccessTokenResponseFormat parametr jest ustawiony na jsonwartość , ponieważ punkt końcowy tokenu zwraca odpowiedź w formacie JSON.

<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

Konfigurowanie formatu odpowiedzi tokenu dostępu

W przypadku dostawców tożsamości, którzy obsługują metodę HTTP POST, AccessTokenResponseFormat parametr jest domyślnie ustawiony na jsonwartość . Jeśli dostawca tożsamości obsługuje żądanie HTTP GET, musisz jawnie ustawić format json odpowiedzi tokenu dostępu.

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

W poniższym przykładzie pokazano odpowiedź punktu końcowego tokenu w formacie JSON:

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

Konfigurowanie metody uwierzytelniania

Żądania do punktu końcowego tokenu zawsze wymagają uwierzytelniania. Domyślnie usługa Azure AD B2C udostępnia dostawcę tożsamości przy użyciu poświadczeń klienta. Domyślnie metoda uwierzytelniania to client_secret_post, w tym poświadczenia klienta (client_id i client_secret) w treści żądania.

Następujące żądanie HTTP do punktu końcowego tokenu zawiera client_id element i client_secret w danych POST. W przypadku żądań client_id GET i parametrów client_secret ciągu zapytania są uwzględniane.

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

W przypadku dostawców tożsamości, którzy wymagają uwierzytelniania podstawowego HTTP w punkcie /token końcowym, skonfiguruj token_endpoint_auth_method metadane na client_secret_basicwartość . W przypadku tego typu metody uwierzytelniania poświadczenia klienta są przekazywane do dostawcy tożsamości przy użyciu schematu uwierzytelniania podstawowego HTTP.

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

Następujące żądanie HTTP demonstruje wywołanie punktu końcowego tokenu z uwierzytelnianiem podstawowym PROTOKOŁU HTTP. Nagłówek autoryzacji zawiera identyfikator klienta i klucz tajny klienta w formacie client_ID:client_secret, zakodowany w formacie base64.

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

W przypadku dostawców tożsamości obsługujących uwierzytelnianie JWT klucza prywatnego skonfiguruj token_endpoint_auth_method metadane na private_key_jwtwartość . W przypadku tego typu metody uwierzytelniania certyfikat dostarczony do Azure AD B2C jest używany do generowania podpisanej asercji, która jest przekazywana do dostawcy tożsamości za pośrednictwem parametru client_assertion . Ustawiono client_assertion_type wartość urn:ietf:params:oauth:client-assertion-type:jwt-bearer. Metadane token_signing_algorithm określają algorytm podpisywania tokenu JWT.

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

Następujące żądanie HTTP demonstruje wywołanie punktu końcowego tokenu przy użyciu uwierzytelniania JWT klucza prywatnego.

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

Metadane punktu końcowego informacji o użytkowniku

Po Azure AD B2C pobiera token dostępu od dostawcy tożsamości OAuth2, wykonuje wywołanie punktu końcowego informacji o użytkowniku. Punkt końcowy informacji o użytkowniku, znany również jako punkt końcowy oświadczeń, jest przeznaczony do pobierania oświadczeń dotyczących uwierzytelnioowanego użytkownika. Azure AD B2C używa uwierzytelniania tokenu elementu nośnego do uwierzytelniania w punkcie końcowym informacji o użytkowniku dostawców tożsamości. Token elementu nośnego to token dostępu, który Azure AD B2C uzyskuje z punktu końcowego dostawców /token tożsamości.

Żądanie punktu końcowego informacji o użytkowniku jest zawsze http GET. Token dostępu jest wysyłany w parametrze ciągu zapytania o nazwie access_token. Następujące żądanie HTTP pokazuje wywołanie punktu końcowego informacji o użytkowniku z tokenem dostępu w parametrze ciągu zapytania.

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

W poniższej tabeli wymieniono metadane punktu końcowego informacji o użytkowniku.

Atrybut Wymagane Opis
ClaimsEndpoint Tak Adres URL punktu końcowego informacji o użytkowniku. Na przykład https://api.linkedin.com/v2/me.
ClaimsEndpointAccessTokenName Nie Nazwa parametru ciągu zapytania tokenu dostępu. Wartość domyślna: access_token.
ClaimsEndpointFormatName Nie Nazwa parametru ciągu zapytania formatu. Można na przykład ustawić nazwę tak jak format w tym punkcie końcowym https://api.linkedin.com/v1/people/~?format=jsonoświadczeń linkedin .
ClaimsEndpointFormat Nie Wartość parametru ciągu zapytania formatu. Można na przykład ustawić wartość tak jak json w tym punkcie końcowym https://api.linkedin.com/v1/people/~?format=jsonoświadczeń usługi LinkedIn.
BearerTokenTransmissionMethod Nie Określa sposób wysyłania tokenu. Metoda domyślna to ciąg zapytania. Aby wysłać token jako nagłówek żądania, ustaw wartość AuthorizationHeader.
ExtraParamsInClaimsEndpointRequest Nie Zawiera dodatkowe parametry, które można zwrócić w żądaniu ClaimsEndpoint przez niektórych dostawców tożsamości. Wiele nazw parametrów należy unikać i rozdzielać przecinkami "", ogranicznik.

Konfigurowanie parametru ciągu zapytania tokenu dostępu

Punkt końcowy informacji o użytkowniku może wymagać wysłania tokenu dostępu w określonym parametrze ciągu zapytania. Aby zmienić nazwę parametru ciągu zapytania, który zawiera token dostępu, użyj ClaimsEndpointAccessTokenName metadanych. W poniższym przykładzie parametr ciągu zapytania tokenu dostępu ma wartość token.

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

Następujące wywołanie HTTP demonstruje wywołanie punktu końcowego informacji o użytkowniku z ustawioną wartością ClaimsEndpointAccessTokenNametoken:

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

Konfigurowanie formatu oświadczeń

Parametr ClaimsEndpointFormatName i ClaimsEndpointFormat umożliwia wysyłanie parametru ciągu zapytania pary klucz-wartość do punktu końcowego informacji o użytkowniku. Poniższy przykład konfiguruje parametr ciągu zapytania o nazwie format, z wartością json.

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

Następujące żądanie HTTP demonstruje wywołanie punktu końcowego informacji o użytkowniku z konfiguracją i ClaimsEndpointFormat konfiguracjąClaimsEndpointFormatName.

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

Konfigurowanie metody transmisji tokenu elementu nośnego

Domyślnie token dostępu jest wysyłany do punktu końcowego informacji o użytkowniku dostawców tożsamości za pomocą parametru ciągu zapytania. Aby wysłać token w nagłówku HTTP Authorization , ustaw BearerTokenTransmissionMethod wartość metadanych na AuthorizationHeader.

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

Następujące żądanie HTTP pokazuje, jak token dostępu jest przekazywany, gdy BearerTokenTransmissionMethod jest ustawiony na AuthorizationHeaderwartość .

GET /oauth2/claims

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Przekazywanie parametrów zwracanych przez punkt końcowy tokenu

Niektórzy dostawcy tożsamości muszą przekazać dodatkowe parametry, które są zwracane z punktu końcowego tokenu do punktu końcowego informacji o użytkowniku. Na przykład odpowiedź z punktu końcowego tokenu zawiera parametr o nazwie resource, który jest obowiązkowym parametrem punktu końcowego informacji o użytkowniku (oprócz tokenu dostępu). ExtraParamsInClaimsEndpointRequest Użyj metadanych, aby określić dodatkowe parametry do przekazania. Wiele nazw parametrów należy unikać i rozdzielać przecinkami "", ogranicznik.

Poniższy kod JSON przedstawia ładunek JSON zwracany przez punkt końcowy tokenu z parametrem o nazwie resource.

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

Aby przekazać resource parametr do punktu końcowego informacji o użytkowniku, dodaj następujące metadane:

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

Następujące żądanie HTTP pokazuje, jak resource parametr jest przekazywany do punktu końcowego informacji o użytkowniku.

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

Końcowy punkt końcowy sesji

Aby wylogować użytkownika z aplikacji, przekieruj użytkownika do punktu końcowego wylogowania Azure AD B2C (zarówno dla protokołu OAuth2, jak i OpenID Connect) lub wyślij element LogoutRequest (dla protokołu SAML). Azure AD B2C wyczyści sesję użytkownika z przeglądarki. Po wylogowaniu się Azure AD B2C próbuje wylogować się od wszystkich dostawców tożsamości federacyjnych, za pomocą których użytkownik mógł się zalogować. Identyfikator URI wylogowania dostawcy tożsamości OAuth2 jest skonfigurowany w end_session_endpoint metadanych. Gdy użytkownik wyloguje się z aplikacji za pośrednictwem usługi Azure AD B2C, zostanie utworzony ukryty element iframe, który wywoła end_session_endpoint element na stronie wylogowania Azure AD B2C.

W poniższej tabeli wymieniono metadane punktu końcowego informacji o użytkowniku.

Atrybut Wymagane Opis
end_session_endpoint Tak Adres URL punktu końcowego sesji zgodnie z specyfikacją RFC 6749.
SingleLogoutEnabled Nie Wskazuje, czy podczas logowania profil techniczny próbuje wylogować się z federacyjnych dostawców tożsamości. Aby uzyskać więcej informacji, zobacz Azure AD wylogowywanie sesji B2C. Możliwe wartości: true (wartość domyślna) lub false.

Ogólne metadane OAuth2

W poniższej tabeli wymieniono ogólne metadane dostawcy tożsamości OAuth2. Metadane opisują sposób obsługi weryfikacji tokenu przez profil techniczny OAuth2, pobierania oświadczeń i reagowania na komunikaty o błędach.

Atrybut Wymagane Opis
IdTokenAudience Nie Odbiorcy id_token. Jeśli zostanie określony, Azure AD B2C sprawdza, czy token znajduje się w oświadczeniu zwróconym przez dostawcę tożsamości i jest równy określonemu.
ProviderName Nie Nazwa dostawcy tożsamości.
ResponseErrorCodeParamName Nie Nazwa parametru zawierającego komunikat o błędzie zwrócony przez protokół HTTP 200 (OK).
IncludeClaimResolvingInClaimsHandling   Nie W przypadku oświadczeń wejściowych i wyjściowych określa, czy rozpoznawanie oświadczeń jest zawarte w profilu technicznym. Możliwe wartości: true, lub false (wartość domyślna). Jeśli chcesz użyć programu rozpoznawania oświadczeń w profilu technicznym, ustaw tę opcję na truewartość .
ResolveJsonPathsInJsonTokens Nie Wskazuje, czy profil techniczny rozpoznaje ścieżki JSON. Możliwe wartości: true, lub false (wartość domyślna). Te metadane służą do odczytywania danych z zagnieżdżonego elementu JSON. W elemecie OutputClaim ustaw PartnerClaimType element ścieżki JSON, który chcesz wyświetlić. Na przykład: firstName.localized, lub data[0].to[0].email.

Klucze kryptograficzne

Element CryptographicKeys zawiera następujący atrybut:

Atrybut Wymagane Opis
client_secret Tak Klucz tajny klienta aplikacji dostawcy tożsamości. Klucz kryptograficzny jest wymagany tylko wtedy, gdy response_types metadanych jest ustawiona na codewartość . W tym przypadku Azure AD B2C wykonuje inne wywołanie w celu wymiany kodu autoryzacji dla tokenu dostępu. Jeśli metadane są ustawione na id_tokenwartość , możesz pominąć klucz kryptograficzny.
assertion_signing_key Nie token_endpoint_auth_method Gdy metadane są ustawione na private_key_jwtwartość , podaj certyfikat X509, który ma być używany do podpisywania klucza JWT. Ten klucz powinien zostać dostarczony przez dostawcę tożsamości OAuth2.

Identyfikator URI przekierowania

Po skonfigurowaniu identyfikatora URI przekierowania dostawcy tożsamości wprowadź .https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/oauth2/authresp Pamiętaj, aby zastąpić {tenant-name} ciąg nazwą dzierżawy (na przykład contosob2c). Identyfikator URI przekierowania musi znajdować się we wszystkich małych literach.

Następne kroki