Share via


TOTP megjelenítési vezérlő

Az időalapú egyszeri jelszó (TOTP) megjelenítési vezérlőivel engedélyezheti a többtényezős hitelesítést a TOTP-módszerrel. A végfelhasználóknak olyan hitelesítő alkalmazást kell használniuk, amely TOTP-kódokat hoz létre, például a Microsoft Authenticator alkalmazást vagy bármely más, a TOTP-ellenőrzést támogató hitelesítő alkalmazást.

A TOTP egyéni szabályzaton belüli engedélyezéséhez használja a következő megjelenítési vezérlőket:

  • totpQrCodeControl – A QR-kód és egy mélyhivatkozás megjelenítése. Amikor a felhasználó megvizsgálja a QR-kódot, vagy megnyitja a mélyhivatkozást, megnyílik a hitelesítő alkalmazás, hogy a felhasználó befejezhesse a regisztrációs folyamatot.
  • AuthenticatorAppIconControl – Renderelje a Microsoft Authenticator alkalmazás ikonját egy hivatkozással, amellyel letöltheti az alkalmazást a felhasználó mobileszközére.
  • AuthenticatorInfoControl – A TOTP bemutatása.

Az alábbi képernyőkép a TOTP regisztrációs oldalát mutatja be, amelyen a három megjelenítési vezérlő látható.

Screenshot showing TOTP display controls enrollment flow

A következő XML-kódrészlet a három megjelenítési vezérlőt jeleníti meg:

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

A megjelenítési vezérlők önazonos technikai profilból származnak. Az önaláírt műszaki profil bemeneti jogcímek átalakításával készíti elő a szükséges qrCodeContent és secretKey bemeneti jogcímeket.

A bemeneti jogcímek átalakítását a következő sorrendben kell meghívni:

  1. A CreateSecret CreateOtpSecret jogcímátalakítási típusa. A jogcímátalakítás létrehoz egy TOTP titkos kulcsot. Ez a kulcs később a felhasználó profiljában lesz tárolva az Azure AD B2C-ben, és meg lesz osztva a hitelesítő alkalmazással. A hitelesítő alkalmazás a kulccsal hoz létre egy TOTP-kódot, amelyet a felhasználónak át kell mennie az MFA-n. Az egyéni szabályzat a kulccsal ellenőrzi a felhasználó által megadott TOTP-kódot.
  2. A CreateIssuer CreateStringClaim jogcímátalakítási típusa. A jogcímátalakítás létrehozza a TOTP-kiállító nevét. A kiállító neve a bérlő neve, például "Contoso demo".
  3. A CreateUriLabel FormatStringMultipleClaims jogcímátalakítási típusa. A jogcímátalakítás létrehozza a TOTP URI-címkét. A címke a felhasználó egyedi azonosítójának (például e-mail-címnek) és a kiállító nevének kombinációja, például Contoso demo:emily@fabrikam.com.
  4. A CreateUriString BuildUri jogcímátalakítási típusa. A jogcímátalakítás létrehozza a TOTP URI-sztringet. A sztring az URI-címke és a titkos kulcs kombinációja, például otpauth://totp/Contoso%20demo:emily@fabrikam.com?secret=fay2lj7ynpntjgqa&issuer=Contoso+demo. Ezt az URI-címkét a kijelzővezérlő QR-kódformátumban és mélyhivatkozásban jeleníti meg.

Az alábbi XML-kód az önaláírt műszaki profilt jeleníti meg a EnableOTPAuthentication bemeneti jogcímek átalakításával, a bemeneti jogcímekkel és a megjelenítési vezérlőkkel.

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

Ellenőrzési folyamat

Az ellenőrző TOTP-kódot egy másik önaláírással rendelkező technikai profil végzi, amely megjelenítési jogcímeket és érvényesítési műszaki profilt használ. További információ: Microsoft Entra ID többtényezős hitelesítés technikai profil definiálása egyéni Azure AD B2C-szabályzatban.

Az alábbi képernyőkép egy TOTP-ellenőrző oldalt ábrázol.

Screenshot showing TOTP display controls verification flow

Következő lépések