Ovládací prvek zobrazení TOTP
K povolení vícefaktorového ověřování pomocí metody TOTP použijte ovládací prvky zobrazení jednorázového hesla (TOTP). Koncoví uživatelé musí používat ověřovací aplikaci, která generuje kódy TOTP, jako je aplikace Microsoft Authenticator nebo jakákoli jiná ověřovací aplikace, která podporuje ověření TOTP.
Pokud chcete povolit toTP v rámci vlastních zásad, použijte následující ovládací prvky zobrazení:
- totpQrCodeControl – vykreslí kód QR a přímý odkaz. Když uživatel naskenuje kód QR nebo otevře přímý odkaz, otevře se ověřovací aplikace, aby uživatel mohl dokončit proces registrace.
- AuthenticatorAppIconControl – Vykreslí ikonu aplikace Microsoft Authenticator s odkazem ke stažení aplikace do mobilního zařízení uživatele.
- AuthenticatorInfoControl – Vykreslení úvodu KTP
Následující snímek obrazovky znázorňuje stránku registrace TOTP zobrazující tři ovládací prvky zobrazení.
Následující fragment kódu XML ukazuje tři ovládací prvky zobrazení:
<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>
Na ovládací prvky zobrazení se odkazuje z technického profilu s vlastním kontrolním výrazem. Technický profil s vlastním uplatněním používá k přípravě požadovaných qrCodeContent
a secretKey
vstupních deklarací identity vstupní transformace deklarací identity.
Vstupní transformace deklarací identity musí být volány v následujícím pořadí:
- Typ
CreateSecret
transformace deklarací identity CreateOtpSecret. Transformace deklarací identity vytvoří tajný klíč TOTP. Tento klíč se později uloží do profilu uživatele v Azure AD B2C a sdílí se s ověřovací aplikací. Ověřovací aplikace používá klíč k vygenerování kódu TOTP, který uživatel potřebuje projít vícefaktorovým ověřováním. Vaše vlastní zásada používá klíč k ověření kódu TOTP poskytnutého uživatelem. - Typ
CreateIssuer
transformace deklarací identity CreateStringClaim. Transformace deklarací identity vytvoří název vystavitele TOTP. Název vystavitele je název vašeho tenanta, například "Contoso demo". - Typ
CreateUriLabel
transformace deklarací identity FormatStringMultipleClaims. Transformace deklarací identity vytvoří popisek identifikátoru URI TOTP. Popisek je kombinací jedinečného identifikátoru uživatele, například e-mailové adresy, a názvu vystavitele,Contoso demo:emily@fabrikam.com
například . - Typ
CreateUriString
transformace deklarací identity identifikátoru BuildUri. Transformace deklarací identity vytvoří řetězec identifikátoru URI TOTP. Řetězec je kombinací popisku identifikátoru URI a tajného klíče,otpauth://totp/Contoso%20demo:emily@fabrikam.com?secret=fay2lj7ynpntjgqa&issuer=Contoso+demo
například . Tento popisek identifikátoru URI vykresluje ovládací prvek zobrazení ve formátu kódu QR a přímý odkaz.
Následující kód XML ukazuje EnableOTPAuthentication
technický profil s vlastním asserted technickým profilem se vstupní transformací deklarací identity, vstupními deklaracemi a ovládacími prvky zobrazení.
<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>
Tok ověření
Ověřovací kód TOTP provádí jiný technický profil, který používá zobrazované deklarace identity a technický profil ověření. Další informace najdete v tématu Definování technického profilu vícefaktorového ověřování Microsoft Entra ID ve vlastních zásadách Azure AD B2C.
Následující snímek obrazovky znázorňuje stránku ověření totp.
Další kroky
Další informace o vícefaktorové ověřování v tématu Povolení vícefaktorového ověřování v Azure Active Directory B2C
Zjistěte, jak ověřit kód TOTP v části Definování technického profilu vícefaktorového ověřování Microsoft Entra ID.
Prozkoumejte ukázkové vícefaktorové ověřování Azure AD B2C s toTP pomocí libovolné vlastní zásady aplikace Authenticator na GitHubu.