Dela via


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 InutputClaimsTransformations 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 Inga 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 Inga 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 Inga 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 Inga 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 Inga 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 Inga Om det är inställt på trueupphör uppdateringstokens glidande fönsterlivslängd aldrig att gälla.
IssuanceClaimPattern Inga Styr utfärdarens anspråk (iss). Ett av värdena:
  • AuthorityAndTenantGuid – iss-anspråket innehåller ditt domännamn, till exempel login.microsoftonline eller tenant-name.b2clogin.com, och din klientidentifierare https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0/
  • AuthorityWithTfp – iss-anspråket innehåller ditt domännamn, till exempel login.microsoftonline eller tenant-name.b2clogin.com, din klient-ID och ditt principnamn för förlitande part. https://login.microsoftonline.com/tfp/00000000-0000-0000-0000-000000000000/b2c_1a_tp_sign-up-or-sign-in/v2.0/
Standardvärde: AuthorityAndTenantGuid
AuthenticationContextReferenceClaimPattern Inga Styr anspråksvärdet acr .
  • Ingen – Azure AD B2C utfärdar inte acr-anspråket
  • PolicyId – anspråket acr innehåller principnamnet
Alternativen för att ange det här värdet är TFP (förtroenderamverksprincip) och ACR (referens för autentiseringskontext). Vi rekommenderar att du ställer in det här värdet på TFP för att ange värdet, se till att <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 Inga 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 konfigurerade 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.