Azure Active Directory B2C: gestire la personalizzazione dei token e SSO con i criteri personalizzatiAzure Active Directory B2C: Manage SSO and token customization with custom policies

L'uso dei criteri personalizzati offre lo stesso controllo sulle configurazioni di token, sessioni e Single Sign-On (SSO) dei criteri predefiniti.Using custom policies provides you the same control over your token, session and single sign-on (SSO) configurations as through built-in policies. Per informazioni sulle singole impostazioni, vedere la documentazione qui.To learn what each setting does, please see the documentation here.

Configurazione delle attestazioni e delle durate dei tokenToken lifetimes and claims configuration

Per modificare le impostazioni delle durate dei token, è necessario aggiungere un elemento <ClaimsProviders> nel file di relying party del criterio su cui si vuole intervenire.To change the settings on your token lifetimes, you need to add a <ClaimsProviders> element in the relying party file of the policy you want to impact. <ClaimsProviders> è un elemento figlio di <TrustFrameworkPolicy>.The <ClaimsProviders> element is a child of the <TrustFrameworkPolicy>. Sarà necessario inserirvi le informazioni che interessano le durate dei token.Inside you'll need to put the information that affects your token lifetimes. Il codice XML è simile al seguente:The XML looks like this:

<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="IssuanceClaimPattern">AuthorityAndTenantGuid</Item>
               <Item Key="AuthenticationContextReferenceClaimPattern">None</Item>
            </Metadata>
         </TechnicalProfile>
      </TechnicalProfiles>
   </ClaimsProvider>
</ClaimsProviders>

Durate dei token di accesso La durata dei token di accesso può essere cambiata modificando il valore nell'elemento <Item> con Key="token_lifetime_secs" espresso in secondi.Access token lifetimes The access token lifetime can be changed by modifying the value inside the <Item> with the Key="token_lifetime_secs" in seconds. Il valore predefinito è pari a 3600 secondi (60 minuti).The default value in built-in is 3600 seconds (60 minutes).

Durata dei token di ID La durata dei token di ID può essere cambiata modificando il valore nell'elemento <Item> con Key="id_token_lifetime_secs" espresso in secondi.ID token lifetime The ID token lifetime can be changed by modifying the value inside the <Item> with the Key="id_token_lifetime_secs" in seconds. Il valore predefinito è pari a 3600 secondi (60 minuti).The default value in built-in is 3600 seconds (60 minutes).

Durata del token di aggiornamento La durata del token di aggiornamento può essere cambiata modificando il valore nell'elemento <Item> con Key="refresh_token_lifetime_secs" espresso in secondi.Refresh token lifetime The refresh token lifetime can be changed by modifying the value inside the <Item> with the Key="refresh_token_lifetime_secs" in seconds. Il valore predefinito è pari a 1209600 secondi (14 giorni).The default value in built-in is 1209600 seconds (14 days).

Durata della finestra temporale scorrevole del token di aggiornamento Per impostare una durata della finestra temporale scorrevole per il token di aggiornamento, modificare il valore nell'elemento <Item> con Key="rolling_refresh_token_lifetime_secs" espresso in secondi.Refresh token sliding window lifetime If you would like to set a sliding window lifetime to your refresh token, modify the value inside <Item> with the Key="rolling_refresh_token_lifetime_secs" in seconds. Il valore predefinito è pari a 7776000 secondi (90 giorni).The default value in built-in is 7776000 (90 days). Se non si vuole applicare una durata della finestra temporale scorrevole, sostituire questa riga con:If you don't want to enfore a sliding window lifetime, replace this line with:

<Item Key="allow_infinite_rolling_refresh_token">True</Item>

Attestazione autorità di certificazione (iss) Per cambiare l'attestazione autorità di certificazione (iss), modificare il valore nell'elemento <Item> con Key="IssuanceClaimPattern".Issuer (iss) claim If you want to change the Issuer (iss) claim, modify the value inside the <Item> with the Key="IssuanceClaimPattern". I valori applicabili sono AuthorityAndTenantGuid e AuthorityWithTfp.The applicable values are AuthorityAndTenantGuid and AuthorityWithTfp.

Impostazione dell'attestazione che rappresenta l'ID criteri Le opzioni per impostare questo valore sono TFP (Trust Framework Policy) e ACR (Authentication Context Reference).Setting claim representing policy ID The options for setting this value are TFP (trust framework policy) and ACR (authentication context reference).
È consigliabile impostarlo su TFP. A questo scopo, assicurarsi che l'elemento <Item> con Key="AuthenticationContextReferenceClaimPattern" esista e il valore sia None.We recommend setting this to TFP, to do this, ensure the <Item> with the Key="AuthenticationContextReferenceClaimPattern" exists and the value is None. Nell'elemento <OutputClaims>, aggiungere questo elemento:In your <OutputClaims> item, add this element:

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

Per ACR, rimuovere l'elemento <Item> con Key="AuthenticationContextReferenceClaimPattern".For ACR, remove the <Item> with the Key="AuthenticationContextReferenceClaimPattern".

Attestazione soggetto (sub) L'impostazione predefinita di questa opzione è ObjectID. Per impostarla su Not Supported, seguire questa procedura:Subject (sub) claim This option is defaulted to ObjectID, if you would like to switch this to Not Supported, do the following:

Sostituire questa rigaReplace this line

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

con la riga seguente:with this line:

<OutputClaim ClaimTypeReferenceId="sub" />

Comportamento della sessione e SSOSession behavior and SSO

Per modificare il comportamento della sessione e le configurazioni SSO, è necessario aggiungere un elemento <UserJourneyBehaviors> nell'elemento <RelyingParty>.To change your session behavior and SSO configurations, you need to add a <UserJourneyBehaviors> element inside of the <RelyingParty> element. L'elemento <UserJourneyBehaviors> deve seguire immediatamente <DefaultUserJourney>.The <UserJourneyBehaviors> element must immediately follow the <DefaultUserJourney>. Il contenuto dell'elemento <UserJourneyBehavors> sarà il seguente:The inside of your <UserJourneyBehavors> element should look like this:

<UserJourneyBehaviors>
   <SingleSignOn Scope="Application" />
   <SessionExpiryType>Absolute</SessionExpiryType>
   <SessionExpiryInSeconds>86400</SessionExpiryInSeconds>
</UserJourneyBehaviors>

Configurazione dell'accesso Single Sign-On Per cambiare la configurazione dell'accesso Single Sign-On, è necessario modificare il valore di <SingleSignOn>.Single sign-on (SSO) configuration To change the single sign-on configuration, you need to modify the value of <SingleSignOn>. I valori applicabili sono Tenant, Application Policy e Disabled.The applicable values are Tenant, Application, Policy and Disabled.

Durata della sessione dell'app Web (minuti) Per cambiare la durata della sessione dell'app Web, è necessario modificare il valore dell'elemento <SessionExpiryInSeconds>.Web app session lifetime (minutes) To change the the web app session lifetime, you need to modify value of the <SessionExpiryInSeconds> element. Il valore predefinito nei criteri predefiniti è pari a 86400 secondi (1440 minuti).The default value in built-in policies is 86400 seconds (1440 minutes).

Timeout della sessione dell'app Web Per cambiare il timeout della sessione dell'app Web, è necessario modificare il valore di <SessionExpiryType>.Web app session timeout To change the web app session timeout, you need to modify the value of <SessionExpiryType>. I valori applicabili sono Absolute e Rolling.The applicable values are Absolute and Rolling.