Udostępnij przez


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

Ważne

Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.

Uwaga / Notatka

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

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 The OAuth 2.0 Authorization Framework (Struktura autoryzacji OAuth 2.0). Za pomocą profilu technicznego OAuth2 możesz sfederować się z dostawcą tożsamości opartym na protokole OAuth2, takim jak Facebook. Federacja z dostawcą 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 OAuth2. Na przykład protokół dla 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 swojego dostawcy tożsamości. Poniższy przykład dodaje parametr ciągu zapytania domain_hint z wartością contoso.com do żą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. Może być konieczne zamapować nazwę oświadczenia zdefiniowanego w zasadach na nazwę zdefiniowaną w dostawcy tożsamości. Można również uwzględnić oświadczenia, które nie są zwracane przez dostawcę tożsamości, o ile ustawisz DefaultValue 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 zwracane przez dostawcę tożsamości serwisu Facebook:

  • Oświadczenie first_name jest mapowane na oświadczenie givenName .
  • Roszczenie last_name jest mapowane na roszczenie nazwisko.
  • Oświadczenie displayName bez mapowania nazw.
  • Żądanie 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 , które zawiera nazwę dostawcy tożsamości.
  • Oświadczenie authenticationSource z domyślną wartością 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 akcję. W tym momencie użytkownik zostanie poproszony o dokończenie logowania u dostawcy tożsamości OAuth2. Na przykład wprowadzając nazwę użytkownika i hasło.

Azure AD B2C tworzy żądanie autoryzacji, podając identyfikator klienta, zakresy, identyfikator URI przekierowania i inne parametry, które są potrzebne do uzyskania tokenu 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 do punktu końcowego autoryzacji to zawsze HTTP GET. W poniższym przykładzie przedstawiono 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 ze specyfikacją RFC 6749.
client_id Tak Identyfikator aplikacji przypisany przez dostawcę tożsamości.
AdditionalRequestQueryParameters Nie. Dodatkowe parametry zapytania żądania. Na przykład możesz chcieć wysłać dodatkowe parametry do swojego dostawcy tożsamości. Możesz dołączyć wiele parametrów za pomocą ogranicznika przecinków.
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 zdefiniowany zgodnie ze specyfikacją dostawcy tożsamości OAuth2. Na przykład openid, profilei email.
UsePolicyInRedirectUri Nie. Wskazuje, czy podczas konstruowania identyfikatora URI przekierowania należy użyć zasad. Podczas konfigurowania aplikacji u dostawcy tożsamości należy określić identyfikator URI przekierowania. Identyfikator URI przekierowania wskazuje usługę 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

Gdy użytkownik zakończy uwierzytelnianie w punkcie końcowym autoryzacji dostawcy tożsamości, odpowiedź zawierająca autoryzację code zostanie zwrócona do usługi Azure AD B2C. Azure AD B2C realizuje kod autoryzacji dla tokenu dostępu, wysyłając żądanie 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.

Poniższe żądanie HTTP przedstawia wywołanie usługi 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ź tokena dostępu jest w formacie JSON. Możliwe wartości: Default, Jsoni JsonP.
ExtraParamsInAccessTokenEndpointResponse Nie. Zawiera dodatkowe parametry, które mogą być zwracane 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 parametrem obowiązkowym oprócz access_token w ciągu zapytania żądania ClaimsEndpoint . Wiele nazw parametrów powinno być poprzedzonych znakiem ucieczki i oddzielonym ogranicznikiem "".
token_endpoint_auth_method Nie. Określa, jak usługa 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ę OpenID Connect client authentication (Uwierzytelnianie klienta OpenID Connect).
token_signing_algorithm Nie. Określa algorytm podpisywania, który ma być używany, gdy token_endpoint_auth_method ustawiono wartość private_key_jwt. 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>

Poniższe 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 punkcie końcowym /token , ustaw HttpBinding metadane na GET. Należy zauważyć, że w poniższym przykładzie wartość jest ustawiona AccessTokenResponseFormat na json, 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, wartość jest domyślnie ustawiona AccessTokenResponseFormat na json. Jeśli dostawca tożsamości obsługuje żądanie HTTP GET, należy 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 przedstawiono 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ą uwierzytelnienia. Domyślnie Azure AD B2C udostępnia dostawcy tożsamości poświadczenia klienta. Domyślnie metodą uwierzytelniania jest 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 i client_id w client_secret danych POST. W przypadku żądań client_id GET i są one uwzględniane client_secret w parametrach ciągu zapytania.

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 podstawowego uwierzytelniania HTTP w punkcie /token końcowym, skonfiguruj token_endpoint_auth_method metadane na client_secret_basic. W przypadku tego typu metody uwierzytelniania poświadczenia klienta są przekazywane do dostawcy tożsamości przy użyciu schematu uwierzytelniania HTTP Basic.

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

Poniższe żądanie HTTP demonstruje wywołanie punktu końcowego tokenu z podstawowym uwierzytelnianiem HTTP. Nagłówek autoryzacji zawiera identyfikator klienta i klucz tajny klienta w formacie zakodowanym w formacie client_ID:client_secretbase64.

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, którzy obsługują uwierzytelnianie JWT za pomocą klucza prywatnego, skonfiguruj token_endpoint_auth_method metadane na private_key_jwt. W przypadku tego typu metody uwierzytelniania certyfikat dostarczony do usługi Azure AD B2C służy do generowania podpisanego potwierdzenia, które jest przekazywane 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 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>

Poniższe żą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

Gdy Azure AD B2C pobierze 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 uwierzytelnionego użytkownika. Azure AD B2C używa uwierzytelniania tokenu okaziciela do uwierzytelniania w punkcie końcowym informacji o użytkowniku dostawców tożsamości. Token okaziciela to token dostępu, który usługa Azure AD B2C uzyskuje z punktu końcowego dostawców /token tożsamości.

Żądanie do 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. Poniższe żą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 formatującego. Na przykład możesz 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. Na przykład możesz ustawić wartość, jak json w tym punkcie końcowym https://api.linkedin.com/v1/people/~?format=jsonoświadczeń LinkedIn .
BearerTokenTransmissionMethod Nie. Określa sposób wysyłania tokenu. Metodą domyślną jest ciąg zapytania. Aby wysłać token jako nagłówek żądania, ustaw wartość AuthorizationHeader.
ExtraParamsInClaimsEndpointRequest Nie. Zawiera dodatkowe parametry, które mogą być zwracane w żądaniu ClaimsEndpoint przez niektórych dostawców tożsamości. Wiele nazw parametrów powinno być poprzedzonych znakiem ucieczki i oddzielonym ogranicznikiem "".

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 jest ustawiony na token.

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

Poniższe wywołanie HTTP demonstruje wywołanie punktu końcowego informacji o użytkowniku z ClaimsEndpointAccessTokenName ustawioną wartością token:

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

Konfigurowanie formatu oświadczeń

Parametr ClaimsEndpointFormatName i ClaimsEndpointFormat umożliwia wysł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>

Poniższe żądanie HTTP demonstruje wywołanie punktu końcowego informacji o użytkowniku z ClaimsEndpointFormatName skonfigurowanym i ClaimsEndpointFormat skonfigurowanym.

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

Konfigurowanie metody transmisji tokenu okaziciela

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

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

Poniższe żądanie HTTP pokazuje, w jaki sposób token dostępu jest przekazywany, gdy BearerTokenTransmissionMethod jest ustawiony na AuthorizationHeader.

GET /oauth2/claims

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Przekazywanie parametrów zwracanych przez punkt końcowy tokenu

Niektórzy dostawcy tożsamości wymagają przekazywania dodatkowych parametrów, 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ć wszelkie dodatkowe parametry do przekazania. Wiele nazw parametrów powinno być poprzedzonych znakiem ucieczki i oddzielonym ogranicznikiem "".

Poniższy kod JSON demonstruje zwracanie ładunku JSON 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>

Poniższe żądanie HTTP pokazuje, w jaki sposób parametr jest przekazywany resource do punktu końcowego informacji o użytkowniku.

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

Kończenie punktu końcowego sesji

Aby wylogować użytkownika z aplikacji, przekieruj go do punktu końcowego wylogowania Azure AD B2C (zarówno dla protokołu OAuth2, jak i OpenID Connect) lub wyślij wiadomość ( LogoutRequest w przypadku protokołu SAML). Azure AD B2C wyczyści sesję użytkownika z przeglądarki. Po żądaniu wylogowania usługa Azure AD B2C próbuje wylogować się ze wszystkich dostawców tożsamości federacyjnych, za pośrednictwem 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 metodę na end_session_endpoint stronie wylogowania usługi 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 końcowej zgodnie ze 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 wylogowywanie sesji usługi Azure AD B2C. Możliwe wartości: true (wartość domyślna) lub false.

Metadane ogólne OAuth2

W poniższej tabeli wymieniono ogólne metadane dostawcy tożsamości OAuth2. Metadane opisują, jak profil techniczny OAuth2 obsługuje walidację tokenów, pobieranie oświadczeń i reagowanie na komunikaty o błędach.

Atrybut Wymagane Opis
IdTokenAudience Nie. Publiczność 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, który zawiera komunikat o błędzie zwrócony za pośrednictwem protokołu HTTP 200 (Ok).
IncludeClaimResolvingInClaimsHandling   Nie. W przypadku oświadczeń wejściowych i wyjściowych określa, czy rozwiązanie oświadczeń jest zawarte w profilu technicznym. Możliwe wartości: truelub false (wartość domyślna). Jeśli chcesz użyć funkcji 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: truelub 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 Wpis tajny klienta aplikacji dostawcy tożsamości. Klucz kryptograficzny jest wymagany tylko wtedy, gdy metadane response_types są ustawione na codewartość . W takim przypadku usługa Azure AD B2C wykonuje inne wywołanie w celu wymiany kodu autoryzacji dla tokenu dostępu. Jeśli metadane są ustawione na id_token, można pominąć klucz kryptograficzny.
assertion_signing_key Nie. Gdy metadane są ustawione token_endpoint_auth_method na private_key_jwtwartość , podaj certyfikat X509, który będzie używany do podpisywania klucza JWT. Ten klucz powinien zostać dostarczony przez dostawcę tożsamości OAuth2.

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} go nazwą dzierżawy (na przykład contosob2c). Identyfikator URI przekierowania musi znajdować się we wszystkich małych literach.