Udostępnij przez


Konfigurowanie tokenów w usłudze Azure Active Directory B2C

Ważne

Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.

Przed rozpoczęciem użyj selektora Wybierz typ zasad w górnej części tej strony, aby wybrać typ konfigurowanych zasad. Usługa Azure Active Directory B2C oferuje dwie metody definiowania sposobu interakcji użytkowników z aplikacjami: za pomocą wstępnie zdefiniowanych przepływów użytkowników lub w pełni konfigurowalnych zasad niestandardowych. Kroki wymagane w tym artykule są różne dla każdej metody.

Z tego artykułu dowiesz się, jak skonfigurować okres istnienia i zgodność tokenu w usłudze Azure Active Directory B2C (Azure AD B2C).

Wymagania wstępne

Zachowanie okresu istnienia tokenu

Okres istnienia tokenu można skonfigurować, w tym:

  • Okresy istnienia tokenu dostępu i identyfikatora (w minutach) — okres istnienia tokenu elementu nośnego OAuth 2.0 i tokenów identyfikatora. Wartość domyślna to 60 minut (1 godzina). Minimum (włącznie) wynosi 5 minut. Maksymalna (włącznie) wynosi 1440 minut (24 godziny).
  • Okres istnienia tokenu odświeżania (dni) — maksymalny okres, przed którym można użyć tokenu odświeżania do uzyskania nowego tokenu dostępu, jeśli aplikacja otrzymała offline_access zakres. Wartość domyślna to 14 dni. Minimum (włącznie) to jeden dzień. Maksymalnie do 90 dni (włącznie).
  • Czas życia przesuwnego okna tokenu odświeżania — typ przesuwnego okna tokenu odświeżania. Bounded wskazuje, że token odświeżania można rozszerzyć, jak określono w polu Długość okresu istnienia (dni). No expiry wskazuje, że okres ważności tokenu odświeżania w mechanizmie okna przesuwnego nigdy nie wygasa.
  • Długość okresu istnienia (dni) — po upływie tego czasu użytkownik zostanie zmuszony do ponownego uwierzytelnienia, niezależnie od okresu ważności ostatniego tokenu odświeżania uzyskanego przez aplikację. Wartość musi być większa lub równa wartości okresu istnienia tokenu Odświeżanie .

Na poniższym diagramie przedstawiono zachowanie czasu życia przesuwnego okna tokenu odświeżania.

Okres istnienia tokenu odświeżania

Uwaga

Aplikacje jednostronicowe korzystające z przepływu kodu autoryzacji z protokołem PKCE zawsze mają okres istnienia tokenu odświeżania wynoszący 24 godziny, podczas gdy aplikacje mobilne, aplikacje na komputery stacjonarne i aplikacje internetowe nie mają tego ograniczenia. Dowiedz się więcej na temat wpływu na zabezpieczenia tokenów odświeżania w przeglądarce.

Konfigurowanie okresu istnienia tokenu

Aby skonfigurować okres ważności tokenu przepływu użytkowników:

  1. Zaloguj się do witryny Azure Portal.
  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się na dzierżawę Azure AD B2C z menu Katalogi + subskrypcje.
  3. Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz pozycję Azure AD B2C.
  4. Wybierz Przepływy użytkownika (polityki)..
  5. Otwórz przepływ użytkownika, który utworzyłeś wcześniej.
  6. Wybierz Właściwości.
  7. W obszarze Okres istnienia tokenu dostosuj właściwości do potrzeb aplikacji.
  8. Wybierz Zapisz.

Skonfiguruj tokeny przepływów użytkownika w Azure Portal.

Aby zmienić ustawienia zgodności tokenu, należy ustawić metadane profilu technicznego wystawcy tokenu w rozszerzeniu lub w pliku polityki strony polegającej, na którą chcesz wpłynąć. Profil techniczny wystawcy tokenu wygląda następująco:

<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>

W poprzednim przykładzie ustawiono następujące wartości:

  • token_lifetime_secs — okresy istnienia tokenu dostępu (w sekundach). Wartość domyślna to 3600 (1 godzina). Wartość minimalna to 300 (5 minut). Maksymalna wartość to 86 400 (24 godziny).
  • id_token_lifetime_secs — okresy istnienia tokenu identyfikatora (w sekundach). Wartość domyślna to 3600 (1 godzina). Wartość minimalna to 300 (5 minut). Maksymalna wartość to 86 400 (24 godziny).
  • refresh_token_lifetime_secs Odświeżanie okresów istnienia tokenu (w sekundach). Wartość domyślna to 1209 600 (14 dni). Wartość minimalna to 86 400 (24 godziny). Maksymalna wartość to 776 000 (90 dni).
  • rolling_refresh_token_lifetime_secs — czas życia ruchomego okna tokenu odświeżania (w sekundach). Wartość domyślna to 776 000 (90 dni). Wartość minimalna to 86 400 (24 godziny). Maksymalna wartość to 31 536 000 (365 dni). Jeśli nie chcesz wymuszać okresu istnienia okna przewijania, ustaw wartość allow_infinite_rolling_refresh_token na true.
  • allow_infinite_rolling_refresh_token — czas życia okna przesuwnego dla tokenu odświeżania nigdy nie wygasa.

Ustawienia zgodności tokenów

Można skonfigurować zgodność tokenów, w tym:

  • Oświadczenie wystawcy (iss) — format wystawcy tokenów dostępu i identyfikacyjnych.
  • Oświadczenie podmiotu (sub) — podmiot, o którym token potwierdza informacje, takie jak użytkownik aplikacji. Ta wartość jest niezmienna i nie można jej ponownie przypisać ani ponownie użyć. Może służyć do bezpiecznego przeprowadzania kontroli autoryzacji, na przykład gdy token jest używany do uzyskiwania dostępu do zasobu. Domyślnie twierdzenie dotyczące podmiotu jest wypełniane identyfikatorem obiektu użytkownika w katalogu użytkowników.
  • Oświadczenie reprezentujące przepływ użytkownika — to oświadczenie identyfikuje przepływ użytkownika, który został wykonany. Możliwe wartości: tfp (wartość domyślna) lub acr.

Aby skonfigurować ustawienia zgodności przepływu użytkownika:

  1. Wybierz Przepływy użytkownika (polityki)..
  2. Otwórz przepływ użytkownika, który utworzyłeś wcześniej.
  3. Wybierz Właściwości.
  4. W obszarze Ustawienia zgodności tokenów dostosuj właściwości do potrzeb aplikacji.
  5. Wybierz Zapisz.

Aby zmienić ustawienia zgodności tokenu, należy ustawić metadane profilu technicznego wystawcy tokenu w rozszerzeniu lub pliku uczestnika polityki, które wymagają aktualizacji. Profil techniczny wystawcy tokenu wygląda następująco:

<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>
  • Oświadczenie wystawcy (iss) — oświadczenie wystawcy ( iss) jest ustawione z elementem metadanych IssuerClaimPattern . Odpowiednie wartości to AuthorityAndTenantGuid i AuthorityWithTfp.

  • Ustawianie oświadczenia reprezentującego identyfikator polityki — opcje ustawiania tej wartości to TFP (polityka ramowa zaufania) i ACR (odwołanie kontekstu uwierzytelniania). TFP jest zalecaną wartością. Ustaw właściwość AuthenticationContextReferenceClaimPattern na wartość None.

    W elemecie ClaimsSchema dodaj następujący element:

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

    W zasadach jednostki uzależnionej w obszarze Elementu OutputClaims dodaj następujące oświadczenie wyjściowe:

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

    W przypadku ACR usuń element AuthenticationContextReferenceClaimPattern.

  • Oświadczenie podmiotu (sub) — ta opcja jest domyślnie ustawiona na ObjectID; jeśli chcesz zmienić to ustawienie na Not Supported, zastąp ten wiersz:

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

    z tą linią:

    <OutputClaim ClaimTypeReferenceId="sub" />
    

Podaj opcjonalne oświadczenia do aplikacji

Żądania aplikacji to wartości zwracane do aplikacji. Zaktualizuj przepływ użytkownika, aby zawierał żądane oświadczenia.

  1. Wybierz Przepływy użytkownika (polityki)..
  2. Otwórz przepływ użytkownika, który utworzyłeś wcześniej.
  3. Wybierz pozycję Oświadczenia aplikacji.
  4. Wybierz oświadczenia i atrybuty, które chcesz wysłać z powrotem do aplikacji.
  5. Wybierz Zapisz.

Oświadczenia wyjściowe profilu technicznego zasad jednostki uzależnionej to wartości zwracane do aplikacji. Dodanie oświadczeń wyjściowych spowoduje wysłanie oświadczeń do tokenu po pomyślnej podróży użytkownika i zostanie wysłane do aplikacji. Zmodyfikuj element profilu technicznego w sekcji jednostki uzależnionej, aby dodać żądane oświadczenia jako oświadczenie wyjściowe.

  1. Otwórz plik polityki niestandardowej. Na przykład SignUpOrSignin.xml.
  2. Znajdź element OutputClaims. Dodaj element OutputClaim, który chcesz uwzględnić w tokenie.
  3. Ustaw atrybuty oświadczenia wyjściowego.

Poniższy przykład dodaje accountBalance żądanie. Oświadczenie accountBalance jest wysyłane do aplikacji jako saldo.

<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>

Element OutputClaim zawiera następujące atrybuty:

  • ClaimTypeReferenceId — identyfikator typu oświadczenia już zdefiniowany w sekcji ClaimsSchema w pliku zasad lub pliku zasad nadrzędnych.
  • PartnerClaimType — umożliwia zmianę nazwy roszczenia w tokenie.
  • DefaultValue — wartość domyślna. Można również ustawić wartość domyślną na rozpoznawanie oświadczeń, na przykład identyfikator dzierżawy.
  • AlwaysUseDefaultValue — wymusza użycie wartości domyślnej.

Okres istnienia kodu autoryzacji

W przypadku korzystania z przepływu kodu autoryzacji OAuth 2.0 aplikacja może użyć kodu autoryzacji, aby zażądać tokenu dostępu dla zasobu docelowego. Kody autoryzacji są krótkotrwałe, które wygasają po około 10 minutach. Nie można skonfigurować okresu istnienia kodu autoryzacji. Upewnij się, że aplikacja zrealizowała kody autoryzacji w ciągu 10 minut.