Tokens configureren in Azure Active Directory B2C configureren

Voordat u begint, gebruikt u de selector Een beleidstype kiezen om het type beleid te kiezen dat u instelt. U kunt in Azure Active Directory B2C op twee manieren definiëren hoe gebruikers met uw toepassingen communiceren: via vooraf gedefinieerde gebruikersstromen of via volledig configureerbaar aangepast beleid. De stappen die in dit artikel zijn vereist, verschillen voor elke methode.

Meer informatie over het configureren van de levensduur en compatibiliteit van een token in Azure Active Directory B2C (Azure AD B2C).

Vereisten

Gedrag van tokenlevensduur

U kunt de levensduur van het token configureren, waaronder:

  • Levensduur van toegangs- en id-tokens (minuten): - De levensduur van het Bearer-token en id-tokens van OAuth 2.0. De standaardwaarde is 60 minuten (1 uur). Het minimum (inclusief) is 5 minuten. Het maximum (inclusief) is 1440 minuten (24 uur).
  • Levensduur van vernieuwingstokens (dagen) - De maximale periode waarna een vernieuwingstoken kan worden gebruikt om een nieuw toegangstoken te verkrijgen als aan uw toepassing het offline_access bereik is verleend. De standaardwaarde is 14 dagen. Het minimum (inclusief) is een dag. Het maximum (inclusief) is 90 dagen.
  • Levensduur van het vernieuwingstoken sliding window - Het type vernieuwingstoken sliding window. Bounded geeft aan dat het vernieuwingstoken kan worden uitgebreid zoals opgegeven in de levensduur (dagen). No expiry geeft aan dat de levensduur van het vernieuwingstoken voor het sliding window nooit verloopt.
  • Levensduur (dagen) - Wanneer deze periode is verstreken, moet de gebruiker de verificatie opnieuw uitvoeren, ongeacht de geldigheidsperiode van het meest recente vernieuwingstoken dat door de app is verkregen. De waarde moet groter dan of gelijk zijn aan de waarde voor de levensduur van het vernieuwingstoken.

In het volgende diagram ziet u het gedrag van de levensduur van het vernieuwingstoken voor sliding windows.

Refresh token lifetime

Notitie

Toepassingen met één pagina die de autorisatiecodestroom met PKCE gebruiken, hebben altijd een vernieuwingstoken levensduur van 24 uur, terwijl mobiele apps, desktop-apps en web-apps deze beperking niet ervaren. Meer informatie over de gevolgen voor de beveiliging van vernieuwingstokens in de browser.

Levensduur van tokens configureren

De levensduur van uw gebruikersstroomtoken configureren:

  1. Meld u aan bij de Azure-portal.
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het bovenste menu om over te schakelen naar uw Azure AD B2C-tenant in het menu Mappen en abonnementen.
  3. Kies Alle services linksboven in de Azure Portal, zoek Azure AD B2C en selecteer deze.
  4. Selecteer Gebruikersstromen (beleid).
  5. Open de gebruikersstroom die u eerder hebt gemaakt.
  6. Selecteer Eigenschappen.
  7. Pas onder Token levensduur de eigenschappen aan naargelang de behoeften van uw toepassing.
  8. Selecteer Opslaan.

configure user flows tokens in Azure portal.

Als u de instellingen voor de compatibiliteit van uw token wilt wijzigen, stelt u de metagegevens van het technische profiel tokenverlener in de extensie of het relying party-bestand in van het beleid dat u wilt bewerken. Het technische profiel van de tokenverlener ziet er als volgt uit:

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

De volgende waarden zijn ingesteld in het vorige voorbeeld:

  • token_lifetime_secs: levensduur van toegangstokens (seconden). De standaardwaarde is 3600 (1 uur). Het minimum is 300 (5 minuten). Het maximum is 86.400 (24 uur).
  • token_lifetime_secs: levensduur van id-token (seconden). De standaardwaarde is 3600 (1 uur). Het minimum is 300 (5 minuten). Het maximum is 86.400 (24 uur).
  • refresh_token_lifetime_secs token levensduur vernieuwen (seconden). De standaardwaarde is 1.209.600 (14 dagen). Het minimum is 86.400 (24 uur). Het maximum is 7.776.000 (90 dagen).
  • rolling_refresh_token_lifetime_secs - De levensduur van het sliding window van het token vernieuwen (seconden). De standaardwaarde is 7.776.000 (90 dagen). Het minimum is 86.400 (24 uur). Het maximum is 31.536.000 (365 dagen). Als u de levensduur van een sliding window niet wilt afdwingen, stelt u de waarde van allow_infinite_rolling_refresh_token in op true.
  • allow_infinite_rolling_refresh_token - De levensduur van het sliding window van het token vernieuwen verloopt nooit.

Instellingen voor tokencompatibiliteit

U kunt de tokencompatibiliteit configureren, waaronder:

  • Verlenerclaim (iss): de indeling van de uitgever van het toegangs- en id-token.
  • Onderwerpclaim (sub): de principal waarover het token informatie bevestigt, zoals de gebruiker van een toepassing. Deze waarde is onveranderbaar en kan niet opnieuw worden toegewezen of opnieuw worden gebruikt. Het kan worden gebruikt om autorisatiecontroles veilig uit te voeren, bijvoorbeeld wanneer het token wordt gebruikt voor toegang tot een resource. De onderwerpclaim wordt standaard gevuld met de object-id van de gebruiker in de map.
  • Claim die de gebruikersstroom vertegenwoordigt: deze claim identificeert de gebruikersstroom die is uitgevoerd. Mogelijke waarden: tfp (standaard) of acr.

Uw gebruikersstroom compatibiliteitsinstellingen configureren:

  1. Selecteer Gebruikersstromen (beleid).
  2. Open de gebruikersstroom die u eerder hebt gemaakt.
  3. Selecteer Eigenschappen.
  4. Pas in Instellingen voor tokencompatibiliteit de eigenschappen aan volgens de behoeften van uw toepassing.
  5. Selecteer Opslaan.

Als u de instellingen voor de compatibiliteit van uw token wilt wijzigen, stelt u de metagegevens van het technische profiel tokenverlener in de extensie in of het relying party-bestand van het beleid dat u wilt bijwerken. Het technische profiel van de tokenverlener ziet er als volgt uit:

<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>
  • Verlenerclaim (iss): de claimverlener (iss) wordt ingesteld met het metagegevensitem IssuanceClaimPattern. De toepasselijke waarden zijn AuthorityAndTenantGuid en AuthorityWithTfp.

  • Instellingsclaim die de beleids-id vertegenwoordigt: de opties voor het instellen van deze waarde zijn TFP (vertrouwensframeworkbeleid) en ACR (verificatiecontextverwijzing). De aanbevolen waarde is TFP. Stel AuthenticationContextReferenceClaimPattern in met de waarde van None.

    Voeg in het element ClaimsSchema dit element toe:

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

    Voeg in uw relying party-beleid, onder het element OutputClaims, de volgende uitvoerclaim toe:

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

    Voor ACR verwijdert u het item AuthenticationContextReferenceClaimPattern.

  • Onderwerpclaim (sub): deze optie wordt standaard ingesteld op ObjectID, als u deze instelling wilt overschakelen naar Not Supported, vervangt u deze regel:

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

    met deze regel:

    <OutputClaim ClaimTypeReferenceId="sub" />
    

Optionele claims in uw app opnemen

De toepassingsclaims zijn waarden die worden geretourneerd naar de toepassing. Werk uw gebruikersstroom bij zodat deze de gewenste claims bevat.

  1. Selecteer Gebruikersstromen (beleid).
  2. Open de gebruikersstroom die u eerder hebt gemaakt.
  3. Selecteer Toepassingsclaims.
  4. Kies de claims en kenmerken die u wilt terugsturen naar uw toepassing.
  5. Selecteer Opslaan.

De Relying Party technisch profiel-uitvoerclaims zijn waarden die worden geretourneerd naar een toepassing. De uitvoerclaim wordt toegevoegd aan het token na een voltooid gebruikerstraject en wordt naar de toepassing verzonden. Wijzig het element van het technische profiel in de sectie Relying Party om de woonplaats toe te voegen als een uitvoerclaim.

  1. Open het aangepaste beleidsbestand. Bijvoorbeeld SignUpOrSignin.xml.
  2. Zoek het element OutputClaims. Voeg de OutputClaim toe die u wilt opnemen in het token.
  3. Stel de uitvoerclaimkenmerken in.

Het volgende voorbeeld voegt de accountBalance claim toe. De accountBalance-claim wordt als een saldo naar de toepassing verzonden.

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

Het element Invoerclaim bevat de volgende kenmerken:

  • ClaimTypeReferenceId: de id van een claimtype dat al is gedefinieerd in de sectie ClaimsSchema in het beleidsbestand of het bovenliggende beleidsbestand.
  • PartnerClaimType: hiermee kunt u de naam van de claim in het token wijzigen.
  • DefaultValue: een standaardwaarde. U kunt de standaardwaarde ook instellen op een claim-resolver, zoals tenant-id.
  • AlwaysUseDefaultValue: dwing het gebruik van de standaardwaarde af.

Levensduur van autorisatiecode

Wanneer u de OAuth 2.0-autorisatiecodestroom gebruikt, kan de app de autorisatiecode gebruiken om een toegangstoken aan te vragen voor een doelresource. Autorisatiecodes zijn kortstondige codes die na ongeveer 10 minuten verlopen. De levensduur van de autorisatiecode kan niet worden geconfigureerd. Zorg ervoor dat uw toepassing de autorisatiecodes binnen 10 minuten inwisselt.

Volgende stappen