Definiera en teknisk profil för en JWT-token utfärdare i en anpassad Azure Active Directory B2C-princip
Kommentar
I Azure Active Directory B2C är anpassade principer främst utformade för att hantera komplexa scenarier. I de flesta scenarier rekommenderar vi att du använder inbyggda användarflöden. Om du inte har gjort det kan du läsa mer om startpaketet för anpassad princip i Kom igång med anpassade principer i Active Directory B2C.
Azure Active Directory B2C (Azure AD B2C) genererar flera typer av säkerhetstoken när varje autentiseringsflöde bearbetas. En teknisk profil för en JWT-tokenutfärdare genererar en JWT-token som returneras tillbaka till det förlitande partprogrammet. Vanligtvis är den här tekniska profilen det sista orkestreringssteget i användarresan.
Protokoll
Attributet Namn för protokollelementet måste anges till OpenIdConnect
. Ange elementet OutputTokenFormat till JWT
.
I följande exempel visas en teknisk profil för 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>
Indata, utdata och beständiga anspråk
Elementen InputClaims, OutputClaims och PersistClaims är tomma eller frånvarande. Elementen InputClaimsTransformations och OutputClaimsTransformations saknas också.
Metadata
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
issuer_refresh_token_user_identity_claim_type | Ja | Anspråket som ska användas som användaridentitetsanspråk i OAuth2-auktoriseringskoderna och uppdateringstoken. Som standard bör du ange den till objectId , såvida du inte anger en annan SubjectNamingInfo-anspråkstyp. |
SendTokenResponseBodyWithJsonNumbers | Nej | Ange alltid till true . För äldre format där numeriska värden anges som strängar i stället för JSON-tal anger du till false . Det här attributet behövs för klienter som har varit beroende av en tidigare implementering som returnerade sådana egenskaper som strängar. |
token_lifetime_secs | Nej | Livslängd för åtkomsttoken. Livslängden för den OAuth 2.0-ägartoken som används för att få åtkomst till en skyddad resurs. Standardvärdet är 3 600 sekunder (1 timme). Det minsta (inkluderande) är 300 sekunder (5 minuter). Maximalt (inklusive) är 86 400 sekunder (24 timmar). |
id_token_lifetime_secs | Nej | Livslängd för ID-token. Standardvärdet är 3 600 sekunder (1 timme). Det minsta (inkluderande) är 300 sekunder (5 minuter). Maximalt (inklusive) är sekunder 86 400 (24 timmar). |
refresh_token_lifetime_secs | Nej | Uppdateringstokens livslängd. Den maximala tidsperiod som en uppdateringstoken kan användas för att hämta en ny åtkomsttoken, om ditt program hade beviljats offline_access omfång. Standardvärdet är 120 9600 sekunder (14 dagar). Minimivärdet (inklusive) är 86 400 sekunder (24 timmar). Maximalt (inklusive) är 7 776 000 sekunder (90 dagar). |
rolling_refresh_token_lifetime_secs | Nej | Livslängd för skjutfönster för uppdateringstoken. Efter den här tidsperioden tvingas användaren autentisera på nytt, oavsett giltighetsperioden för den senaste uppdateringstoken som förvärvats av programmet. Om du inte vill framtvinga en livslängd för skjutfönster anger du värdet för allow_infinite_rolling_refresh_token till true . Standardvärdet är 7 776 000 sekunder (90 dagar). Minimivärdet (inklusive) är 86 400 sekunder (24 timmar). Maximalt (inklusive) är 31 536 000 sekunder (365 dagar). |
allow_infinite_rolling_refresh_token | Nej | Om det är inställt på true upphör uppdateringstokens glidande fönsterlivslängd aldrig att gälla. |
IssuanceClaimPattern | Nej | Styr utfärdarens anspråk (iss). Ett av värdena:
|
AuthenticationContextReferenceClaimPattern | Nej | Styr anspråksvärdet acr .
<Item> med Key="AuthenticationContextReferenceClaimPattern" finns och värdet är None . I principen för förlitande part lägger du till <OutputClaims> objekt, lägger till det här elementet <OutputClaim ClaimTypeReferenceId="trustFrameworkPolicy" Required="true" DefaultValue="{policy}" PartnerClaimType="tfp"/> . Kontrollera också att principen innehåller anspråkstypen <ClaimType Id="trustFrameworkPolicy"> <DisplayName>trustFrameworkPolicy</DisplayName> <DataType>string</DataType> </ClaimType> |
RefreshTokenUserJourneyId | Nej | Identifieraren för en användarresa som ska köras under uppdateringen av en POST-begäran för åtkomsttoken till /token slutpunkten. |
Krypteringsnycklar
CryptographicKeys-elementet innehåller följande attribut:
Attribut | Obligatoriskt | Beskrivning |
---|---|---|
issuer_secret | Ja | X509-certifikatet (RSA-nyckeluppsättningen) som ska användas för att signera JWT-token. Det här är nyckeln B2C_1A_TokenSigningKeyContainer som du konfigurerar i Kom igång med anpassade principer. |
issuer_refresh_token_key | Ja | X509-certifikatet (RSA-nyckeluppsättningen) som ska användas för att kryptera uppdateringstoken. Du har konfigurerat B2C_1A_TokenEncryptionKeyContainer nyckeln i Kom igång med anpassade principer |
Sessionshantering
Om du vill konfigurera Azure AD B2C-sessioner mellan Azure AD B2C och ett förlitande partprogram lägger du till en referens till OAuthSSOSessionProvider SSO-session i elementets UseTechnicalProfileForSessionManagement
attribut.