Share via


TOTP görüntü denetimi

TOTP yöntemini kullanarak çok faktörlü kimlik doğrulamasını etkinleştirmek için zamana bağlı tek seferlik parola (TOTP) görüntüleme denetimlerini kullanın. Son kullanıcıların, Microsoft Authenticator uygulaması veya TOTP doğrulamasını destekleyen başka bir kimlik doğrulayıcı uygulaması gibi TOTP kodları oluşturan bir kimlik doğrulayıcı uygulaması kullanması gerekir.

Özel ilkenizde TOTP'yi etkinleştirmek için aşağıdaki görüntü denetimlerini kullanın:

  • totpQrCodeControl - QR kodunu ve derin bir bağlantıyı işleme. Kullanıcı QR kodunu taradığında veya ayrıntılı bağlantıyı açtığında, kullanıcının kayıt işlemini tamamlayabilmesi için kimlik doğrulayıcı uygulaması açılır.
  • AuthenticatorAppIconControl - Microsoft Authenticator uygulama simgesini, uygulamayı kullanıcının mobil cihazına indirmek için bir bağlantıyla oluşturun.
  • AuthenticatorInfoControl - TOTP girişini işleme.

Aşağıdaki ekran görüntüsünde üç görüntüleme denetimini gösteren TOTP kayıt sayfası gösterilmektedir.

Screenshot showing TOTP display controls enrollment flow

Aşağıdaki XML kod parçacığı üç görüntüleme denetimini gösterir:

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

Görüntüleme denetimlerine kendi kendine onaylanan bir teknik profilden başvurulur. Kendi kendine onaylanan teknik profil, gerekli qrCodeContent ve secretKey giriş taleplerini hazırlamak için giriş talepleri dönüştürmesini kullanır.

Giriş talep dönüştürmeleri aşağıdaki sırayla çağrılmalıdır:

  1. CreateSecret CreateOtpSecret'in talep dönüştürme türü. Talep dönüştürmesi bir TOTP gizli anahtarı oluşturur. Bu anahtar daha sonra Azure AD B2C'de kullanıcının profilinde depolanır ve kimlik doğrulayıcı uygulamasıyla paylaşılır. Kimlik doğrulayıcı uygulaması, kullanıcının MFA üzerinden geçmesi gereken bir TOTP kodu oluşturmak için anahtarını kullanır. Özel ilkeniz, kullanıcı tarafından sağlanan TOTP kodunu doğrulamak için anahtarını kullanır.
  2. CreateIssuer CreateStringClaim'in talep dönüştürme türü. Talep dönüştürme, TOTP veren adını oluşturur. Verenin adı kiracı adınızdır ( örneğin, "Contoso tanıtımı").
  3. CreateUriLabel FormatStringMultipleClaims talep dönüştürme türü. Talep dönüştürme, TOTP URI etiketini oluşturur. Etiket, kullanıcının e-posta adresi gibi benzersiz tanımlayıcısının ve verenin adının (örneğin, Contoso demo:emily@fabrikam.com) birleşimidir.
  4. BuildUri'nin CreateUriStringtalep dönüştürme türü. Talep dönüştürme, TOTP URI dizesini oluşturur. Dize, URI etiketi ile gizli anahtar (örneğin, otpauth://totp/Contoso%20demo:emily@fabrikam.com?secret=fay2lj7ynpntjgqa&issuer=Contoso+demo) birleşimidir. Bu URI etiketi, görüntüleme denetimi tarafından QR kodu biçiminde ve derin bir bağlantıyla işlenir.

Aşağıdaki XML kodu giriş talepleri dönüşümü, giriş talepleri ve görüntüleme denetimleriyle birlikte kendi kendini onaylanan teknik profili gösterir EnableOTPAuthentication .

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

Doğrulama akışı

Doğrulama TOTP kodu, görünen talepleri ve doğrulama teknik profilini kullanan kendi kendine onaylanan başka bir teknik profil tarafından gerçekleştirilir. Daha fazla bilgi için bkz . Azure AD B2C özel ilkesinde Microsoft Entra ID çok faktörlü kimlik doğrulaması teknik profili tanımlama.

Aşağıdaki ekran görüntüsünde BIR TOTP doğrulama sayfası gösterilmektedir.

Screenshot showing TOTP display controls verification flow

Sonraki adımlar