Konfigurieren von Token in Azure Active Directory B2CConfigure tokens in Azure Active Directory B2C

Vorbereitungen: Wählen Sie mithilfe des obigen Selektors den Typ der zu konfigurierenden Richtlinie aus.Before you begin, use the selector above to choose the type of policy you’re configuring. Azure AD B2C bietet zwei Methoden zum Definieren der Benutzerinteraktion mit Ihren Anwendungen: vordefinierte Benutzerflows oder vollständig konfigurierbare benutzerdefinierte Richtlinien.Azure AD B2C offers two methods of defining how users interact with your applications: though predefined user flows, or through fully configurable custom policies. Die Schritte, die in diesem Artikel erforderlich sind, unterscheiden sich für jede Methode.The steps required in this article are different for each method.

In diesem Artikel erfahren Sie, wie Sie die Lebensdauer und Kompatibilität eines Tokens in Azure Active Directory B2C (Azure AD B2C) konfigurieren.In this article, you learn how to configure the lifetime and compatibility of a token in Azure Active Directory B2C (Azure AD B2C).

VoraussetzungenPrerequisites

Tokenlebensdauer und VerhaltenToken lifetime behavior

Sie können die Lebens- bzw. Gültigkeitsdauer von Token wie folgt konfigurieren:You can configure the token lifetime, including:

  • Lebensdauer von Zugriffs- und ID-Token (Minuten) : Gültigkeitsdauer des OAuth 2.0-Bearertokens und der ID-Token.Access and ID token lifetimes (minutes) - The lifetime of the OAuth 2.0 bearer token and ID tokens. Der Standardwert beträgt 60 Minuten (1 Stunde).The default is 60 minutes (1 hour). Der Mindestwert ist fünf Minuten (einschließlich).The minimum (inclusive) is 5 minutes. Der Höchstwert beträgt 1.440 Minuten (24 Stunden).The maximum (inclusive) is 1,440 minutes (24 hours).
  • Lebensdauer des Aktualisierungstokens (Tage) : Der maximale Zeitraum, in dem ein Aktualisierungstoken zum Anfordern eines neuen Zugriffstokens verwendet werden kann, wenn Ihrer Anwendung der Bereich offline_access erteilt wurde.Refresh token lifetime (days) - The maximum time period before which a refresh token can be used to acquire a new access token, if your application had been granted the offline_access scope. Der Standardwert ist 14 Tage.The default is 14 days. Der Mindestwert ist ein Tag (einschließlich).The minimum (inclusive) is one day. Der Höchstwert beträgt 90 Tage (einschließlich).The maximum (inclusive) 90 days.
  • Lebensdauer für gleitendes Fenster des Aktualisierungstokens: Typ des gleitenden Fensters für das Aktualisierungstoken.Refresh token sliding window lifetime - The refresh token sliding window type. Bounded gibt an, dass das Aktualisierungstoken wie unter Lebensdauer (Tage) angegeben verlängert werden kann.Bounded indicates that the refresh token can be extended as specify in the Lifetime length (days). No expiry gibt an, dass die Lebensdauer für das gleitende Fenster des Aktualisierungstokens nie abläuft.No expiry indicates that the refresh token sliding window lifetime never expires.
  • Lebensdauer (Tage) : Nach Ablauf dieses Zeitraums muss der Benutzer sich erneut authentifizieren, und zwar unabhängig von der Gültigkeitsdauer des zuletzt von der Anwendung erworbenen Aktualisierungstokens.Lifetime length (days) - After this time period elapses the user is forced to reauthenticate, irrespective of the validity period of the most recent refresh token acquired by the application. Der Wert muss mindestens dem Wert Lebensdauer des Aktualisierungstokens (Tage) entsprechen oder darüber liegen.The value must be greater than or equal to the Refresh token lifetime value.

Das folgende Diagramm zeigt das Verhalten der Lebensdauer für das gleitende Fenster des Aktualisierungstokens.The following diagram shows the refresh token sliding window lifetime behavior.

Lebensdauer von Aktualisierungstoken

Hinweis

Bei Single-Page-Webanwendungen, die den Autorisierungscodeflow mit PKCE verwenden, hat das Aktualisierungstoken immer eine Lebensdauer von 24 Stunden.Single-page applications using the authorization code flow with PKCE always have a refresh token lifetime of 24 hours. Weitere Informationen zu Sicherheitsaspekten von Aktualisierungstoken im BrowserLearn more about the security implications of refresh tokens in the browser.

Konfigurieren der TokenlebensdauerConfigure token lifetime

So konfigurieren Sie die Tokenlebensdauer für den BenutzerflowTo configure your user flow token lifetime:

  1. Melden Sie sich beim Azure-Portal an.Sign in to the Azure portal.
  2. Stellen Sie sicher, dass Sie das Verzeichnis verwenden, das Ihren Azure AD B2C-Mandanten enthält.Make sure you're using the directory that contains your Azure AD B2C tenant. Wählen Sie im Hauptmenü den Verzeichnis- und Abonnementfilter aus, und wählen Sie das Verzeichnis aus, das Ihren Azure AD B2C-Mandanten enthält.Select the Directory + subscription filter in the top menu and choose the directory that contains your Azure AD B2C tenant.
  3. Wählen Sie links oben im Azure-Portal die Option Alle Dienste aus, suchen Sie nach Azure AD B2C, und wählen Sie dann diese Option aus.Choose All services in the top-left corner of the Azure portal, and then search for and select Azure AD B2C.
  4. Wählen Sie Benutzerflows (Richtlinien) aus.Select User flows (policies).
  5. Öffnen Sie den Benutzerflow, den Sie zuvor erstellt haben.Open the user flow that you previously created.
  6. Wählen Sie Eigenschaften aus.Select Properties.
  7. Passen Sie unter Tokenlebensdauer die Eigenschaften an die Anforderungen Ihrer Anwendung an.Under Token lifetime, adjust the properties to fit the needs of your application.
  8. Klicken Sie auf Speichern.Click Save.

Um die Einstellungen für die Tokenkompatibilität zu ändern, legen Sie in der Erweiterung die Metadaten des technischen Profils für den Tokenaussteller oder die Datei der vertrauenden Seite der Richtlinie fest, die Sie beeinflussen möchten.To change the settings on your token compatibility, you set the Token Issuer technical profile metadata in the extension, or the relying party file of the policy you want to impact. Das technische Profil für den Tokenaussteller sieht wie im folgenden Beispiel aus:The token issuer technical profile looks like following example:

<ClaimsProviders>
  <ClaimsProvider>
    <DisplayName>Token Issuer</DisplayName>
    <TechnicalProfiles>
      <TechnicalProfile Id="JwtIssuer">
        <Metadata>
          <Item Key="token_lifetime_secs">3600</Item>
          <Item Key="id_token_lifetime_secs">3600</Item>
          <Item Key="refresh_token_lifetime_secs">1209600</Item>
          <Item Key="rolling_refresh_token_lifetime_secs">7776000</Item>
          <!--<Item Key="allow_infinite_rolling_refresh_token">true</Item>-->
          <Item Key="IssuanceClaimPattern">AuthorityAndTenantGuid</Item>
          <Item Key="AuthenticationContextReferenceClaimPattern">None</Item>
        </Metadata>
      </TechnicalProfile>
    </TechnicalProfiles>
  </ClaimsProvider>
</ClaimsProviders>

Im vorstehenden Beispiel werden die folgenden Werte festgelegt:The following values are set in the previous example:

  • token_lifetime_secs: Lebensdauer von Zugriffstoken (Sekunden).token_lifetime_secs - Access token lifetimes (seconds). Der Standardwert beträgt 3.600 Sekunden (1 Stunde).The default is 3,600 (1 hour). Der Mindestwert beträgt 300 Sekunden (5 Minuten).The minimum is 300 (5 minutes). Der Höchstwert beträgt 86.400 Sekunden (24 Stunden).The maximum is 86,400 (24 hours).
  • id_token_lifetime_secs: Lebensdauer von ID-Token (Sekunden).id_token_lifetime_secs - ID token lifetimes (seconds). Der Standardwert beträgt 3.600 Sekunden (1 Stunde).The default is 3,600 (1 hour). Der Mindestwert beträgt 300 Sekunden (5 Minuten).The minimum is 300 (5 minutes). Der Höchstwert beträgt 86.400 Sekunden (24 Stunden).The maximum is 86,400 (24 hours).
  • refresh_token_lifetime_secs: Lebensdauer von Aktualisierungstoken (Sekunden).refresh_token_lifetime_secs Refresh token lifetimes (seconds). Der Standardwert beträgt 1.209.600 Sekunden (14 Tage).The default is 120,9600 (14 days). Der Mindestwert beträgt 86.400 Sekunden (24 Stunden).The minimum is 86,400 (24 hours). Der Höchstwert beträgt 7.776.000 Sekunden (90 Tage).The maximum is 7,776,000 (90 days).
  • rolling_refresh_token_lifetime_secs: Lebensdauer für gleitendes Fenster des Aktualisierungstokens (Sekunden).rolling_refresh_token_lifetime_secs - Refresh token sliding window lifetime (seconds). Der Standardwert beträgt 7.776.000 Sekunden (90 Tage).The default is 7,776,000 (90 days). Der Mindestwert beträgt 86.400 Sekunden (24 Stunden).The minimum is 86,400 (24 hours). Der Höchstwert beträgt 31.536.000 Sekunden (365 Tage).The maximum is 31,536,000 (365 days). Wenn Sie keine Lebensdauer für das gleitende Fenster erzwingen möchten, legen Sie den Wert allow_infinite_rolling_refresh_token auf true fest.If you don't want to enforce a sliding window lifetime, set the value of allow_infinite_rolling_refresh_token to true.
  • allow_infinite_rolling_refresh_token: Das gleitende Fenster für Aktualisierungstoken läuft nie ab.allow_infinite_rolling_refresh_token - Refresh token sliding window lifetime never expires.

TokenkompatibilitätseinstellungenToken compatibility settings

Sie können die Kompatibilität von Token konfigurieren. Dazu zählen auch:You can configure the token compatibility, including:

  • Ausstelleranspruch (iss) : Das Format des Ausstellers von Zugriffs- und ID-Token.Issuer (iss) claim - The access and ID token issuer format.
  • Antragstelleranspruch (sub) : Der Prinzipal, für den das Token Informationen bestätigt (z. B. Benutzer einer Anwendung).Subject (sub) claim - The principal about which the token asserts information, such as the user of an application. Dieser Wert ist unveränderlich und kann nicht erneut zugewiesen oder wiederverwendet werden.This value is immutable and cannot be reassigned or reused. Er kann für die sichere Durchführung von Autorisierungsüberprüfungen verwendet werden, z.B. wenn das Token verwendet wird, um auf eine Ressource zuzugreifen.It can be used to perform authorization checks safely, such as when the token is used to access a resource. Der Anspruch „Antragsteller“ wird standardmäßig mit der Objekt-ID des Benutzers im Verzeichnis aufgefüllt.By default, the subject claim is populated with the object ID of the user in the directory.
  • Anspruch für Benutzerflow: Dieser Anspruch identifiziert den ausgeführten Benutzerflow.Claim representing user flow - This claim identifies the user flow that was executed. Mögliche Werte: tfp (Standard) oder acr.Possible values: tfp (default), or acr.

So konfigurieren Sie die Kompatibilitätseinstellungen für BenutzerflowsTo configure your user flow compatibility settings:

  1. Wählen Sie Benutzerflows (Richtlinien) aus.Select User flows (policies).
  2. Öffnen Sie den Benutzerflow, den Sie zuvor erstellt haben.Open the user flow that you previously created.
  3. Wählen Sie Eigenschaften aus.Select Properties.
  4. Passen Sie unter Tokenkompatibilitätseinstellungen die Eigenschaften an die Anforderungen Ihrer Anwendung an.Under Token compatibility settings, adjust the properties to fit the needs of your application.
  5. Klicken Sie auf Speichern.Click Save.

Um die Einstellungen für die Tokenkompatibilität zu ändern, legen Sie in der Erweiterung die Metadaten des technischen Profils für den Tokenaussteller oder die Datei der vertrauenden Seite der Richtlinie fest, die Sie beeinflussen möchten.To change the settings on your token compatibility, you set the Token Issuer technical profile metadata in the extension, or the relying party file of the policy you want to impact. Das technische Profil für den Tokenaussteller sieht wie im folgenden Beispiel aus:The token issuer technical profile looks like following example:

<ClaimsProviders>
  <ClaimsProvider>
    <DisplayName>Token Issuer</DisplayName>
    <TechnicalProfiles>
      <TechnicalProfile Id="JwtIssuer">
        <Metadata>
          ...
          <Item Key="IssuanceClaimPattern">AuthorityAndTenantGuid</Item>
          <Item Key="AuthenticationContextReferenceClaimPattern">None</Item>
        </Metadata>
      </TechnicalProfile>
    </TechnicalProfiles>
  </ClaimsProvider>
</ClaimsProviders>
  • Ausstelleranspruch (iss): Der Ausstelleranspruch (iss) wird mit dem Metadatenelement IssuanceClaimPattern festgelegt.Issuer (iss) claim - The Issuer (iss) claim is set with the IssuanceClaimPattern metadata item. Die gültigen Werte sind AuthorityAndTenantGuid und AuthorityWithTfp.The applicable values are AuthorityAndTenantGuid and AuthorityWithTfp.

  • Festlegen des Anspruchs zur Darstellung der Richtlinien-ID: Die Optionen zum Festlegen dieses Werts sind TFP (Vertrauensframework-Richtlinie) und ACR (Authentifizierungskontext-Referenz).Setting claim representing policy ID - The options for setting this value are TFP (trust framework policy) and ACR (authentication context reference). Der empfohlene Wert ist TFP.TFP is the recommended value. Legen Sie für AuthenticationContextReferenceClaimPattern den Wert None fest.Set AuthenticationContextReferenceClaimPattern with the value of None.

    Fügen Sie im ClaimsSchema-Element dieses Element hinzu:In the ClaimsSchema element, add this element:

    <ClaimType Id="trustFrameworkPolicy">
      <DisplayName>Trust framework policy name</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    

    Fügen Sie im OutputClaims-Element dieses Element hinzu:In your OutputClaims element, add this element:

    <OutputClaim ClaimTypeReferenceId="trustFrameworkPolicy" Required="true" DefaultValue="{policy}" />
    

    Entfernen Sie für ACR das Element AuthenticationContextReferenceClaimPattern.For ACR, remove the AuthenticationContextReferenceClaimPattern item.

  • Anspruch „Antragsteller“: Diese Option hat standardmäßig den Wert „ObjectID“. Ersetzen Sie die folgende Zeile, um diese Einstellung in Not Supported zu ändern:Subject (sub) claim - This option defaults to ObjectID, if you would like to switch this setting to Not Supported, replace this line:

    <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
    

    Durch diese Zeile:with this line:

    <OutputClaim ClaimTypeReferenceId="sub" />
    

Bereitstellen optionaler Ansprüche für Ihre AppProvide optional claims to your app

Die Anwendungsansprüche sind Werte, die an die Anwendung zurückgegeben werden.The application claims are values that are returned to the application. Aktualisieren Sie den Benutzerflow, sodass dieser die gewünschten Ansprüche enthält.Update your user flow to contain the desired claims.

  1. Wählen Sie Benutzerflows (Richtlinien) aus.Select User flows (policies).
  2. Öffnen Sie den Benutzerflow, den Sie zuvor erstellt haben.Open the user flow that you previously created.
  3. Wählen Sie Anwendungsansprüche aus.Select Application claims.
  4. Wählen Sie die Ansprüche und Attribute aus, die an die Anwendung zurückgesendet werden sollen.Choose the claims and attributes that you want send back to your application.
  5. Klicken Sie auf Speichern.Click Save.

Ausgabeansprüche des technischen Profils der Richtlinie für die vertrauende Seite sind Werte, die an eine Anwendung zurückgegeben werden.The Relying party policy technical profile output claims are values that are returned to an application. Durch Hinzufügen von Ausgabeansprüchen werden die Ansprüche nach einer erfolgreichen User Journey in das Token ausgegeben und an die Anwendung gesendet.Adding output claims will issue the claims into the token after a successful user journey, and will be sent to the application. Ändern Sie im Abschnitt für die vertrauende Seite das Element des technischen Profils, um die gewünschten Ansprüche als Ausgabeanspruch hinzuzufügen.Modify the technical profile element within the relying party section to add the desired claims as an output claim.

  1. Öffnen Sie Ihre benutzerdefinierte Richtliniendatei.Open your custom policy file. Beispiel: SignUpOrSignin.xml.For example, SignUpOrSignin.xml.
  2. Suchen Sie nach dem OutputClaims-Element.Find the OutputClaims element. Fügen Sie den OutputClaim hinzu, den Sie in das Token einschließen möchten.Add the OutputClaim you want to be included in the token.
  3. Legen Sie die Attribute des Ausgabeanspruchs fest.Set the output claim attributes.

Im folgenden Beispiel wird der Anspruch accountBalance hinzugefügt.The following example adds the accountBalance claim. Der Anspruch „accountBalance“ wird als Kontostand an die Anwendung gesendet.The accountBalance claim is sent to the application as a balance.

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
  <TechnicalProfile Id="PolicyProfile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="OpenIdConnect" />
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="displayName" />
      <OutputClaim ClaimTypeReferenceId="givenName" />
      <OutputClaim ClaimTypeReferenceId="surname" />
      <OutputClaim ClaimTypeReferenceId="email" />
      <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
      <OutputClaim ClaimTypeReferenceId="identityProvider" />
      <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
      <!--Add the optional claims here-->
      <OutputClaim ClaimTypeReferenceId="accountBalance" DefaultValue="" PartnerClaimType="balance" />
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" />
  </TechnicalProfile>
</RelyingParty>

Das OutputClaim-Element enthält die folgenden Attribute:The OutputClaim element contains the following attributes:

  • ClaimTypeReferenceId: Der Bezeichner eines Anspruchstyps, der bereits im ClaimsSchema-Abschnitt der Richtliniendatei oder der übergeordneten Richtliniendatei definiert ist.ClaimTypeReferenceId - The identifier of a claim type already defined in the ClaimsSchema section in the policy file or parent policy file.
  • PartnerClaimType: Ermöglicht Ihnen das Ändern des Namens des Anspruchs im Token.PartnerClaimType - Allows you to change the name of the claim in the token.
  • DefaultValue: Ein Standardwert.DefaultValue - A default value. Sie können den Standardwert auch auf einen Anspruchskonfliktlöser wie die Mandanten-ID festlegen.You can also set the default value to a claim resolver, such as tenant ID.
  • AlwaysUseDefaultValue: Erzwingt die Verwendung des Standardwerts.AlwaysUseDefaultValue - Force the use of the default value.

Nächste SchritteNext steps

Weitere Informationen zum Anfordern von Zugriffstoken.Learn more about how to request access tokens.