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 OAuth2
wartość . 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 , profile i 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 true wartość , 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 , Json i 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_jwt wartość . 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 GET
wartość . Uwaga: w poniższym przykładzie AccessTokenResponseFormat
parametr jest ustawiony na json
wartość , 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 json
wartość . 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_basic
wartość . 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_jwt
wartość . 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=json oś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=json oś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ą ClaimsEndpointAccessTokenName
token
:
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 AuthorizationHeader
wartość .
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 true wartość . |
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 code wartość . 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_token wartość , możesz pominąć klucz kryptograficzny. |
assertion_signing_key |
Nie |
token_endpoint_auth_method Gdy metadane są ustawione na private_key_jwt wartość , 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.