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 true hodnotu . Pro starší formát, ve kterém jsou číselné hodnoty uvedeny jako řetězce místo čísel JSON, je nastaveno na false hodnotu . 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 true hodnotu . 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:
|
AuthenticationContextReferenceClaimPattern | No | acr Řídí hodnotu deklarace identity.
<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 .