Definování technického profilu vystavitele tokenu JWT ve vlastních zásadách Azure Active Directory B2C

Poznámka:

V Azure Active Directory B2C jsou vlastní zásady navržené především pro řešení složitých scénářů. Ve většině scénářů doporučujeme používat integrované toky uživatelů. Pokud jste to neudělali, přečtěte si informace o úvodním balíčku vlastních zásad v tématu Začínáme s vlastními zásadami ve službě Active Directory B2C.

Azure Active Directory B2C (Azure AD B2C) generuje několik typů tokenů zabezpečení, protože zpracovává každý tok ověřování. Technický profil vystavitele tokenu JWT generuje token JWT, který se vrátí zpět do aplikace předávající strany. Tento technický profil je obvykle posledním krokem orchestrace na cestě uživatele.

Protokol

Atribut Name elementu Protocol musí být nastaven na OpenIdConnect. Nastavte OutputTokenFormat element na JWT.

Následující příklad ukazuje technický profil pro JwtIssuer:

<TechnicalProfile Id="JwtIssuer">
  <DisplayName>JWT Issuer</DisplayName>
  <Protocol Name="OpenIdConnect" />
  <OutputTokenFormat>JWT</OutputTokenFormat>
  <Metadata>
    <Item Key="client_id">{service:te}</Item>
    <Item Key="issuer_refresh_token_user_identity_claim_type">objectId</Item>
    <Item Key="SendTokenResponseBodyWithJsonNumbers">true</Item>
  </Metadata>
  <CryptographicKeys>
    <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
    <Key Id="issuer_refresh_token_key" StorageReferenceId="B2C_1A_TokenEncryptionKeyContainer" />
  </CryptographicKeys>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />
</TechnicalProfile>

Vstupní, výstupní a trvalé deklarace identity

Elementy InputClaims, OutputClaims a PersistClaims jsou prázdné nebo chybí. Chybí také elementy InutputClaimsTransformations a OutputClaimsTransformations.

Metadata

Atribut Požadováno Popis
issuer_refresh_token_user_identity_claim_type Ano Deklarace identity, která by se měla použít jako deklarace identity uživatele v rámci autorizačních kódů OAuth2 a obnovovacích tokenů. Ve výchozím nastavení byste ji měli nastavit na objectId, pokud nezadáte jiný typ deklarace identity SubjectNamingInfo.
SendTokenResponseBodyWithJsonNumbers No Vždy nastaveno na truehodnotu . Pro starší formát, ve kterém jsou číselné hodnoty uvedeny jako řetězce místo čísel JSON, je nastaveno na falsehodnotu . Tento atribut je nutný pro klienty, kteří využili závislost na dřívější implementaci, která vrátila takové vlastnosti jako řetězce.
token_lifetime_secs No Životnost přístupových tokenů Životnost nosného tokenu OAuth 2.0 sloužícího k získání přístupu k chráněnému prostředku. Výchozí hodnota je 3 600 sekund (1 hodina). Minimum (včetně) je 300 sekund (5 minut). Maximum (včetně) je 86 400 sekund (24 hodin).
id_token_lifetime_secs No Životnost tokenů ID Výchozí hodnota je 3 600 sekund (1 hodina). Minimum (včetně) je 300 sekund (5 minut). Maximum (včetně) je v sekundách 86 400 (24 hodin).
refresh_token_lifetime_secs No Obnovte životnost tokenů. Maximální časové období, před kterým se dá obnovovací token použít k získání nového přístupového tokenu, pokud byla vaší aplikaci udělena offline_access rozsah. Výchozí hodnota je 120 9600 sekund (14 dní). Minimum (včetně) je 86 400 sekund (24 hodin). Maximum (včetně) je 7 776 000 sekund (90 dní).
rolling_refresh_token_lifetime_secs No Životnost posuvného okna obnovovacího tokenu Po uplynutí tohoto časového období je uživatel nucen znovu provést ověření bez ohledu na dobu platnosti nejnovějšího obnovovacího tokenu získaného aplikací. Pokud nechcete vynucovat životnost posuvného okna, nastavte hodnotu allow_infinite_rolling_refresh_token na truehodnotu . Výchozí hodnota je 7 776 000 sekund (90 dní). Minimum (včetně) je 86 400 sekund (24 hodin). Maximum (včetně) je 31 536 000 sekund (365 dní).
allow_infinite_rolling_refresh_token No Pokud je nastavená hodnota true, životnost posuvného okna tokenu aktualizace nikdy nevyprší.
VystaveníClaimPattern No Řídí deklaraci identity vystavitele (iss). Jedna z hodnot:
  • AuthorityAndTenantGuid – Deklarace identity iss zahrnuje název vaší domény, například login.microsoftonline nebo tenant-name.b2clogin.com, a identifikátor vašeho tenanta. https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0/
  • AuthorityWithTfp – Deklarace identity iss zahrnuje název vaší domény, například login.microsoftonlinetenant-name.b2clogin.comnebo , identifikátor tenanta a název zásady předávající strany. https://login.microsoftonline.com/tfp/00000000-0000-0000-0000-000000000000/b2c_1a_tp_sign-up-or-sign-in/v2.0/
Výchozí hodnota: AuthorityAndTenantGuid
AuthenticationContextReferenceClaimPattern No acr Řídí hodnotu deklarace identity.
  • Žádné – Azure AD B2C nevydá deklaraci identity acr
  • PolicyId – acr deklarace identity obsahuje název zásady.
Možnosti nastavení této hodnoty jsou TFP (zásady architektury důvěryhodnosti) a ACR (referenční informace k kontextu ověřování). Doporučuje se nastavit tuto hodnotu na hodnotu TFP, nastavit hodnotu, zajistit, že <Item>Key="AuthenticationContextReferenceClaimPattern" existuje a hodnota je None. Do zásad předávající strany přidejte <OutputClaims> položku, přidejte tento prvek <OutputClaim ClaimTypeReferenceId="trustFrameworkPolicy" Required="true" DefaultValue="{policy}" PartnerClaimType="tfp"/>. Ujistěte se také, že vaše zásada obsahuje typ deklarace identity. <ClaimType Id="trustFrameworkPolicy"> <DisplayName>trustFrameworkPolicy</DisplayName> <DataType>string</DataType> </ClaimType>
RefreshTokenUserJourneyId No Identifikátor cesty uživatele, který by se měl provést během aktualizace požadavku POST přístupového tokenu/token na koncový bod.

Kryptografické klíče

Element CryptographicKeys obsahuje následující atributy:

Atribut Požadováno Popis
issuer_secret Ano Certifikát X509 (sada klíčů RSA) pro podepsání tokenu JWT. Toto je B2C_1A_TokenSigningKeyContainer klíč, který nakonfigurujete v části Začínáme s vlastními zásadami.
issuer_refresh_token_key Ano Certifikát X509 (sada klíčů RSA), který se použije k šifrování obnovovacího tokenu. Klíč jste nakonfigurovali B2C_1A_TokenEncryptionKeyContainer v části Začínáme s vlastními zásadami.

Správa relací

Pokud chcete nakonfigurovat relace Azure AD B2C mezi Azure AD B2C a aplikací předávající strany, přidejte v atributu UseTechnicalProfileForSessionManagement elementu odkaz na relaci jednotného přihlašování OAuthSSOSessionProvider .