Definieren eines technischen Profils für einen JWT-Tokenaussteller in einer benutzerdefinierten Richtlinie in Azure Active Directory B2C
Hinweis
In Azure Active Directory B2C sind benutzerdefinierte Richtlinien in erster Linie für komplexe Szenarien konzipiert. Für die meisten Szenarien empfehlen wir die Verwendung von integrierten Benutzerflows. Informieren Sie sich, sofern noch nicht geschehen, unter Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure Active Directory B2C über das Starter Pack für benutzerdefinierte Richtlinien.
Azure Active Directory B2C (Azure AD B2C) stellt bei der Verarbeitung der einzelnen Authentifizierungsflows verschiedene Arten von Sicherheitstoken aus. Ein technisches Profil für einen JWT-Tokenaussteller gibt ein JWT-Token aus, das an die Anwendung der vertrauenden Seite zurückgegeben wird. Dieses technische Profil ist in der Regel der letzte Orchestrierungsschritt in der User Journey.
Protocol
Das Name-Attribut des Protocol-Elements muss auf OpenIdConnect
festgelegt werden. Legen Sie das OutputTokenFormat-Element auf JWT
fest.
Das folgende Beispiel zeigt ein technisches 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>
Eingabe-, Ausgabe- und Aufbewahrungsansprüche
Die Elemente InputClaims, OutputClaims und PersistClaims sind leer oder fehlen. Die Elemente InutputClaimsTransformations und OutputClaimsTransformations sind ebenfalls nicht vorhanden.
Metadaten
attribute | Erforderlich | BESCHREIBUNG |
---|---|---|
issuer_refresh_token_user_identity_claim_type | Ja | Der Anspruch, der in OAuth2-Autorisierungscodes und Aktualisierungstoken als Benutzeridentitätsanspruch verwendet werden soll. Standardmäßig sollten Sie dieses Attribut auf objectId festlegen, es sei denn, Sie möchten einen anderen SubjectNamingInfo-Anspruchstyp angeben. |
SendTokenResponseBodyWithJsonNumbers | Nein | Immer auf true festgelegt. Legen Sie für ein altes Format, in dem numerische Werte als Zeichenfolgen anstelle von JSON-Zahlen angegeben sind, false fest. Dieses Attribut ist für Clients erforderlich, die eine Abhängigkeit von einer früheren Implementierung übernommen haben, bei der diese Eigenschaften als Zeichenfolgen zurückgegeben wurden. |
token_lifetime_secs | Nein | Lebensdauern von Zugriffstoken. Die Lebensdauer des OAuth 2.0-Bearertokens, das zum Zugriff auf eine geschützte Ressource verwendet wird. Der Standardwert ist 3.600 Sekunden (1 Stunde). Der Mindestwert (inklusive) ist 300 Sekunden (5 Minuten). Der Höchstwert (inklusive) ist 86.400 Sekunden (24 Stunden). |
id_token_lifetime_secs | Nein | Lebensdauern von ID-Token. Der Standardwert ist 3.600 Sekunden (1 Stunde). Der Mindestwert (inklusive) ist 300 Sekunden (5 Minuten). Der Höchstwert (inklusive) ist 86.400 Sekunden (24 Stunden). |
refresh_token_lifetime_secs | Nein | Lebensdauern von Aktualisierungstoken. Der maximale Zeitraum, vor dessen Verstreichen ein Aktualisierungstoken verwendet werden kann, um ein neues Zugriffstoken zu erwerben, wenn Ihrer Anwendung der offline_access-Bereich gewährt wurde. Der Standardwert ist 1.209.600 Sekunden (14 Tage). Der Mindestwert (inklusive) ist 86.400 Sekunden (24 Stunden). Der Höchstwert (inklusive) ist 7.776.000 Sekunden (90 Tage). |
rolling_refresh_token_lifetime_secs | Nein | Lebensdauer für gleitendes Fenster des Aktualisierungstokens. Nach Ablauf dieses Zeitraums muss der Benutzer sich erneut authentifizieren – unabhängig von der Gültigkeitsdauer des zuletzt von der Anwendung erworbenen Aktualisierungstokens. Wenn Sie keine Lebensdauer mit gleitendem Fenster erzwingen möchten, legen Sie den Wert von allow_infinite_rolling_refresh_token auf true fest. Der Standardwert ist 7.776.000 Sekunden (90 Tage). Der Mindestwert (inklusive) ist 86.400 Sekunden (24 Stunden). Der Höchstwert (inklusive) ist 31.536.000 Sekunden (365 Tage). |
allow_infinite_rolling_refresh_token | Nein | Bei einer Festlegung auf true läuft die Lebensdauer für gleitendes Fenster des Aktualisierungstokens nie ab. |
IssuanceClaimPattern | Nein | Steuert den Ausstelleranspruch (iss). Einer der Werte:
|
AuthenticationContextReferenceClaimPattern | Nein | Steuert den Wert des acr -Anspruchs.
<Item> mit dem Key="AuthenticationContextReferenceClaimPattern" vorhanden ist und der Wert None lautet. Fügen Sie in Ihrer Richtlinie der vertrauenden Seite das <OutputClaims> -Element wie folgt hinzu: <OutputClaim ClaimTypeReferenceId="trustFrameworkPolicy" Required="true" DefaultValue="{policy}" PartnerClaimType="tfp"/> . Stellen Sie außerdem sicher, dass die Richtlinie den Anspruchstyp <ClaimType Id="trustFrameworkPolicy"> <DisplayName>trustFrameworkPolicy</DisplayName> <DataType>string</DataType> </ClaimType> enthält. |
RefreshTokenUserJourneyId | Nein | Der Bezeichner einer User Journey, die beim Aktualisieren eines Zugriffstokens bei der POST-Anforderung an den /token -Endpunkt ausgeführt werden soll. |
Kryptografische Schlüssel
Das CryptographicKeys-Element enthält die folgenden Attribute:
attribute | Erforderlich | BESCHREIBUNG |
---|---|---|
issuer_secret | Ja | Das X509 Zertifikat (RSA-Schlüsselsatz) zum Signieren des JWT-Tokens. Dies ist der B2C_1A_TokenSigningKeyContainer -Schlüssel, den Sie in Erste Schritte mit benutzerdefinierten Richtlinien konfigurieren. |
issuer_refresh_token_key | Ja | Das X509 Zertifikat (RSA-Schlüsselsatz) zum Verschlüsseln des Aktualisierungstokens. Sie haben den B2C_1A_TokenEncryptionKeyContainer -Schlüssel in Erste Schritte mit benutzerdefinierten Richtlinien konfiguriert. |
Sitzungsverwaltung
Fügen Sie zum Konfigurieren der Azure AD B2C-SAML-Sitzungen zwischen Azure AD B2C und einer Anwendung der vertrauenden Seite im Attribut des UseTechnicalProfileForSessionManagement
-Elements einen Verweis auf die SSO-Sitzung SamlSSOSessionProvider hinzu.