Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
A partire dal 1° maggio 2025, Azure AD B2C non sarà più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.
Utilizzare i controlli di visualizzazione TOTP (Time-Based One-Time Password) per abilitare l'autenticazione a più fattori utilizzando il metodo TOTP. Gli utenti finali devono usare un'app di autenticazione che genera codici TOTP, ad esempio l'app Microsoft Authenticator o qualsiasi altra app di autenticazione che supporta la verifica TOTP.
Per abilitare TOTP all'interno dei criteri personalizzati, utilizzare i controlli di visualizzazione seguenti:
- totpQrCodeControl - Renderizza il codice QR e un collegamento diretto. Quando l'utente esegue la scansione del codice QR o apre il collegamento diretto, si apre l'app di autenticazione in modo che l'utente possa completare il processo di registrazione.
- AuthenticatorAppIconControl: esegue il rendering dell'icona dell'app Microsoft Authenticator con un collegamento per scaricare l'app nel dispositivo mobile dell'utente.
- AuthenticatorInfoControl - Esegue il rendering dell'introduzione TOTP.
Lo screenshot seguente illustra la pagina di iscrizione TOTP che mostra i tre controlli di visualizzazione.
Nel frammento di codice XML seguente vengono illustrati i tre controlli di visualizzazione:
<DisplayControls>
<!-- Render the QR code by taking the URI (qrCodeContent) input claim and rendering it as a QR code-->
<DisplayControl Id="totpQrCodeControl" UserInterfaceControlType="QrCodeControl">
<InputClaims>
<InputClaim ClaimTypeReferenceId="qrCodeContent" />
</InputClaims>
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="qrCodeContent" ControlClaimType="QrCodeContent" />
</DisplayClaims>
</DisplayControl>
<!-- Render the TOTP information by taking the totpIdentifier and the secretKey input claims and rendering them in plain text-->
<DisplayControl Id="authenticatorInfoControl" UserInterfaceControlType="AuthenticatorInfoControl">
<InputClaims>
<InputClaim ClaimTypeReferenceId="totpIdentifier" />
<InputClaim ClaimTypeReferenceId="secretKey" />
</InputClaims>
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="totpIdentifier" />
<DisplayClaim ClaimTypeReferenceId="secretKey" />
</DisplayClaims>
</DisplayControl>
<!-- Render the authenticator apps icon. -->
<DisplayControl Id="authenticatorAppIconControl" UserInterfaceControlType="AuthenticatorAppIconControl" />
</DisplayControls>
I controlli del display sono referenziati da un profilo tecnico autocertificato. Il profilo tecnico autocertificato usa la trasformazione delle attestazioni di input per preparare le attestazioni di input e richieste qrCodeContent
secretKey
.
Le trasformazioni delle attestazioni di input devono essere chiamate nell'ordine seguente:
- Tipo
CreateSecret
di trasformazione delle attestazioni di CreateOtpSecret. La trasformazione delle attestazioni crea una chiave privata TOTP. Questa chiave viene successivamente archiviata nel profilo dell'utente in Azure AD B2C e condivisa con l'app di autenticazione. L'app di autenticazione usa la chiave per generare un codice TOTP di cui l'utente ha bisogno per passare attraverso l'MFA. I criteri personalizzati utilizzano la chiave per convalidare il codice TOTP fornito dall'utente. - Tipo di trasformazione delle
CreateIssuer
attestazioni di CreateStringClaim. La trasformazione delle attestazioni crea il nome dell'autorità emittente TOTP. Il nome dell'autorità emittente è il nome del tenant, ad esempio "Contoso demo". - Tipo di trasformazione delle
CreateUriLabel
attestazioni di FormatStringMultipleClaims. La trasformazione delle attestazioni crea l'etichetta URI TOTP. L'etichetta è una combinazione dell'identificatore univoco dell'utente, ad esempio l'indirizzo e-mail, e il nome dell'emittente, ad esempioContoso demo:emily@fabrikam.com
. - Tipo
CreateUriString
di trasformazione delle attestazioni di BuildUri. La trasformazione delle attestazioni crea la stringa URI TOTP. La stringa è una combinazione dell'etichetta URI e della chiave segreta, ad esempiootpauth://totp/Contoso%20demo:emily@fabrikam.com?secret=fay2lj7ynpntjgqa&issuer=Contoso+demo
. Il rendering di questa etichetta URI viene eseguito dal controllo dello schermo in un formato di codice QR e in un collegamento diretto.
Nel codice XML seguente viene illustrato il profilo tecnico autocertificato con la trasformazione delle attestazioni di input, le EnableOTPAuthentication
attestazioni di input e i controlli di visualizzazione.
<TechnicalProfile Id="EnableOTPAuthentication">
<DisplayName>Sign up with Authenticator app</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="ContentDefinitionReferenceId">api.selfasserted.totp</Item>
<Item Key="language.button_continue">Continue</Item>
</Metadata>
<CryptographicKeys>
<Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
</CryptographicKeys>
<InputClaimsTransformations>
<InputClaimsTransformation ReferenceId="CreateSecret" />
<InputClaimsTransformation ReferenceId="CreateIssuer" />
<InputClaimsTransformation ReferenceId="CreateUriLabel" />
<InputClaimsTransformation ReferenceId="CreateUriString" />
</InputClaimsTransformations>
<InputClaims>
<InputClaim ClaimTypeReferenceId="qrCodeContent" />
<InputClaim ClaimTypeReferenceId="secretKey" />
</InputClaims>
<DisplayClaims>
<DisplayClaim DisplayControlReferenceId="authenticatorAppIconControl" />
<DisplayClaim ClaimTypeReferenceId="QrCodeScanInstruction" />
<DisplayClaim DisplayControlReferenceId="totpQrCodeControl" />
<DisplayClaim DisplayControlReferenceId="authenticatorInfoControl" />
</DisplayClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="objectId" />
<OutputClaim ClaimTypeReferenceId="secretKey" />
</OutputClaims>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-MFA-TOTP" />
</TechnicalProfile>
Flusso di verifica
Il codice TOTP di verifica viene eseguito da un altro profilo tecnico autocertificato che utilizza attestazioni di visualizzazione e un profilo tecnico di convalida. Per altre informazioni, vedere Definire un profilo tecnico di autenticazione a più fattori ID Microsoft Entra in un criterio personalizzato di Azure AD B2C.
Lo screenshot seguente illustra una pagina di verifica TOTP.
Passaggi successivi
Per altre informazioni sull'autenticazione a più fattori, vedere Abilitare l'autenticazione a più fattori in Azure Active Directory B2C
Per informazioni su come convalidare un codice TOTP, vedere Definire un profilo tecnico di autenticazione a più fattori Microsoft Entra ID.
Esplorare un esempio di Azure AD B2C MFA con TOTP usando qualsiasi criterio personalizzato dell'app Authenticator in GitHub.