TOTP-weergave besturingselement
Gebruik weergavebesturingselementen voor eenmalige wachtwoorden (TOTP) op basis van tijd om meervoudige verificatie in te schakelen met behulp van de TOTP-methode. Eindgebruikers moeten een authenticator-app gebruiken waarmee TOTP-codes worden gegenereerd, zoals de Microsoft Authenticator-app of een andere authenticator-app die ondersteuning biedt voor TOTP-verificatie.
Gebruik de volgende weergave besturingselementen om TOTP in te schakelen in uw aangepaste beleid:
- totpQrCodeControl - De QR-code en een dieptekoppeling weergeven. Wanneer de gebruiker de QR-code scant of de dieptekoppeling opent, wordt de authenticator-app geopend, zodat de gebruiker het registratieproces kan voltooien.
- AuthenticatorAppIconControl - Het pictogram van de Microsoft Authenticator-app weergeven met een koppeling om de app te downloaden naar het mobiele apparaat van de gebruiker.
- AuthenticatorInfoControl - De TOTP-inleiding weergeven.
In de volgende schermopname ziet u de PAGINA TOTP-inschrijving met de drie weergave besturingselementen.
Het volgende XML-fragment geeft de drie weergave besturingselementen weer:
<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>
Er wordt naar de weergave besturingselementen verwezen vanuit een zelf-gecontroleerd technisch profiel. Het zelf-gecontroleerde technische profiel gebruikt de transformatie van invoerclaims om de vereiste qrCodeContent
en secretKey
invoerclaims voor te bereiden.
De transformaties van invoerclaims moeten in de volgende volgorde worden aangeroepen:
- Het
CreateSecret
type claimtransformatie van CreateOtpSecret. De claimtransformatie maakt een TOTP-geheime sleutel. Deze sleutel wordt later opgeslagen in het profiel van de gebruiker in Azure AD B2C en wordt gedeeld met de authenticator-app. De authenticator-app gebruikt de sleutel om TOTP-codes te genereren wanneer de gebruiker MFA moet uitvoeren. Uw beleid gebruikt de sleutel om de TOTP-code van de gebruiker te valideren. - Het
CreateIssuer
type claimtransformatie van CreateOtpSecret. Met de claimtransformatie wordt de naam van de TOTP-verlener gemaakt. De naam van de verlener is de naam van uw tenant, zoals 'Contoso demo'. - Het
CreateUriLabel
type claimtransformatie van FormatStringMultipleClaims. De claimtransformatie maakt het TOTP URI-label. Het label is een combinatie van de unieke id van de gebruiker, zoals het e-mailadres en de naam van de verlener,Contoso demo:emily@fabrikam.com
bijvoorbeeld. - Het
CreateUriString
type claimtransformatie van BuildUri. De claimtransformatie maakt het TOTP URI-label. De tekenreeks is een combinatie van het URI-label en de geheime sleutel, bijvoorbeeldotpauth://totp/Contoso%20demo:emily@fabrikam.com?secret=fay2lj7ynpntjgqa&issuer=Contoso+demo
. Dit URI-label wordt weergegeven door het weergave besturingselement in een QR-code-indeling en een dieptekoppeling.
De volgende XML-code toont het EnableOTPAuthentication
zelf-gecontroleerde technische profiel met de transformatie van invoerclaims, invoerclaims en weergave besturingselementen.
<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>
Verificatiestroom
De TOTP-verificatiecode wordt uitgevoerd door een ander zelf-gecontroleerd technisch profiel dat weergaveclaims en een technisch validatieprofiel gebruikt. Zie Een technisch profiel voor meervoudige verificatie voor Microsoft Entra ID definiƫren in een aangepast Azure AD B2C-beleid voor meer informatie.
In de volgende schermopname ziet u een TOTP-verificatiepagina.
Volgende stappen
Meer informatie over de meervoudige verificatie in Meervoudige verificatie inschakelen in Azure Active Directory B2C
Meer informatie over het valideren van een TOTP-code in Het technische profiel voor meervoudige verificatie van Microsoft Entra ID definiƫren.
Raadpleeg een voorbeeld van Azure AD B2C MFA met TOTP met behulp van aangepast beleid voor authenticator-apps in GitHub.