Bagikan melalui


Menentukan profil teknis autentikasi multifaktor ID Microsoft Entra dalam kebijakan kustom Azure AD B2C

Penting

Berlaku mulai 1 Mei 2025, Azure AD B2C tidak akan lagi tersedia untuk dibeli untuk pelanggan baru. Pelajari lebih lanjut di FAQ kami.

Azure Active Directory B2C (Azure AD B2C) menyediakan dukungan untuk memverifikasi nomor telepon dengan menggunakan kode verifikasi, atau memverifikasi kode Kata Sandi Satu Kali Berbasis Waktu (TOTP).

Protokol

Atribut Nama dari elemen Protokol perlu diatur ke Proprietary. Atribut handler harus berisi nama yang sepenuhnya memenuhi syarat dari rakitan handler protokol yang digunakan oleh Azure AD B2C:

Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

Contoh berikut menunjukkan profil teknis autentikasi multifaktor ID Microsoft Entra:

<TechnicalProfile Id="AzureMfa-SendSms">
    <DisplayName>Send Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    ...

Memverifikasi mode telepon

Dalam mode verifikasi telepon, profil teknis menghasilkan dan mengirim kode ke nomor telepon, lalu memverifikasi kode. Profil teknis autentikasi multifaktor ID Microsoft Entra juga dapat mengembalikan pesan kesalahan. Profil teknis validasi memvalidasi data yang disediakan pengguna sebelum perjalanan pengguna berlanjut. Dengan profil teknis validasi, pesan kesalahan ditampilkan di halaman yang dinyatakan sendiri. Profil teknis:

  • Tidak menyediakan antarmuka untuk berinteraksi dengan pengguna. Sebagai gantinya, antarmuka pengguna dipanggil dari profil teknis yang dinyatakan sendiri , atau kontrol tampilan sebagai profil teknis validasi.
  • Menggunakan layanan autentikasi multifaktor Microsoft Entra untuk menghasilkan dan mengirim kode ke nomor telepon, lalu memverifikasi kode.
  • Memvalidasi nomor telepon melalui pesan teks.

Profil teknis menyediakan metode untuk mengirim kode verifikasi melalui pesan teks SMS, dan memverifikasi kode. Cuplikan layar berikut menunjukkan alur pemverifikasi telepon.

Cuplikan layar memperlihatkan alur TOTP

Kirim SMS

Untuk memverifikasi telepon, langkah pertama menghasilkan kode dan mengirimkannya ke nomor telepon. Opsi berikut dapat dikonfigurasi untuk langkah ini.

Klaim input

Elemen InputClaims berisi daftar klaim untuk dikirim ke autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.

ClaimReferenceId Diperlukan Deskripsi
userPrincipalName Ya Pengidentifikasi untuk pengguna yang memiliki nomor telepon.
phoneNumber Ya Nomor telepon untuk mengirim kode SMS.
companyName Tidak. Nama perusahaan dalam SMS. Jika tidak disediakan, nama aplikasi Anda digunakan.
locale Tidak. Lokal SMS. Jika tidak disediakan, lokal browser pengguna digunakan.

Klaim output

Penyedia protokol autentikasi multifaktor Microsoft Entra tidak mengembalikan klaim output apa pun, sehingga tidak perlu menentukan klaim output.

Metainformasi

Elemen Metadata berisi atribut berikut.

Karakteristik Diperlukan Deskripsi
Operation Ya Harus berupa OneWaySMS .
Elemen antarmuka pengguna

Metadata berikut dapat digunakan untuk mengonfigurasi pesan kesalahan yang ditampilkan saat mengirim kegagalan SMS. Metadata harus dikonfigurasi dalam profil teknis yang ditegaskan sendiri . Pesan kesalahan dapat dilokalisasi.

Karakteristik Diperlukan Deskripsi
UserMessageIfCouldntSendSms Tidak. Pesan kesalahan pengguna jika nomor telepon yang disediakan tidak menerima SMS.
UserMessageIfInvalidFormat Tidak. Pesan kesalahan pengguna jika nomor telepon yang disediakan bukan nomor telepon yang valid.
UserMessageIfServerError Tidak. Pesan kesalahan pengguna jika server mengalami kesalahan internal.
UserMessageIfThrottled Tidak. Pesan kesalahan pengguna jika permintaan telah dibatasi.

Contoh: mengirim SMS

Contoh berikut menunjukkan profil teknis autentikasi multifaktor ID Microsoft Entra yang digunakan untuk mengirim kode melalui SMS.

<TechnicalProfile Id="AzureMfa-SendSms">
  <DisplayName>Send Sms</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">OneWaySMS</Item>
  </Metadata>
  <InputClaimsTransformations>
    <InputClaimsTransformation ReferenceId="CombinePhoneAndCountryCode" />
    <InputClaimsTransformation ReferenceId="ConvertStringToPhoneNumber" />
  </InputClaimsTransformations>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
    <InputClaim ClaimTypeReferenceId="fullPhoneNumber" PartnerClaimType="phoneNumber" />
  </InputClaims>
</TechnicalProfile>

Verifikasi kode

Langkah verifikasi kode memverifikasi kode yang dikirim ke pengguna. Opsi berikut dapat dikonfigurasi untuk langkah ini.

Klaim input

Elemen InputClaims berisi daftar klaim untuk dikirim ke autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.

ClaimReferenceId Diperlukan Deskripsi
phoneNumber Ya Nomor telepon yang sama seperti yang digunakan sebelumnya untuk mengirim kode. Ini juga digunakan untuk menemukan sesi verifikasi telepon.
verificationCode Ya Kode verifikasi yang disediakan oleh pengguna untuk diverifikasi

Klaim output

Penyedia protokol autentikasi multifaktor Microsoft Entra tidak mengembalikan klaim output apa pun, sehingga tidak perlu menentukan klaim output.

Metainformasi

Elemen Metadata berisi atribut berikut.

Karakteristik Diperlukan Deskripsi
Operation Ya Harus berupa Verify .
Elemen antarmuka pengguna

Metadata berikut dapat digunakan untuk mengonfigurasi pesan kesalahan yang ditampilkan setelah kegagalan verifikasi kode. Metadata harus dikonfigurasi dalam profil teknis yang ditegaskan sendiri . Pesan kesalahan dapat dilokalisasi.

Karakteristik Diperlukan Deskripsi
UserMessageIfMaxAllowedCodeRetryReached Tidak. Pesan kesalahan pengguna jika pengguna telah mencoba kode verifikasi terlalu sering.
UserMessageIfServerError Tidak. Pesan kesalahan pengguna jika server mengalami kesalahan internal.
UserMessageIfThrottled Tidak. Pesan kesalahan pengguna jika permintaan dibatasi.
UserMessageIfWrongCodeEntered Tidak. Pesan kesalahan pengguna jika kode yang dimasukkan untuk verifikasi salah.

Contoh: memverifikasi kode

Contoh berikut menunjukkan profil teknis autentikasi multifaktor ID Microsoft Entra yang digunakan untuk memverifikasi kode.

<TechnicalProfile Id="AzureMfa-VerifySms">
    <DisplayName>Verify Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <Metadata>
        <Item Key="Operation">Verify</Item>
    </Metadata>
    <InputClaims>
        <InputClaim ClaimTypeReferenceId="phoneNumber" PartnerClaimType="phoneNumber" />
        <InputClaim ClaimTypeReferenceId="verificationCode" />
    </InputClaims>
</TechnicalProfile>

Mode TOTP

Dalam mode ini, pengguna diharuskan menginstal aplikasi pengautentikasi apa pun yang mendukung verifikasi kata sandi satu kali (TOTP) berbasis waktu, seperti aplikasi Microsoft Authenticator, pada perangkat yang mereka miliki.

Selama pendaftaran atau masuk pertama, pengguna memindai kode QR, membuka tautan mendalam, atau memasukkan kode secara manual menggunakan aplikasi pengautentikasi. Untuk memverifikasi kode TOTP, gunakan mulai verifikasi OTP diikuti dengan Memverifikasi profil teknis validasi TOTP .

Untuk rincian masuk berikutnya, gunakan metode Dapatkan perangkat yang tersedia untuk memeriksa apakah pengguna telah mendaftarkan perangkat mereka. Jika jumlah perangkat yang tersedia lebih besar dari nol, ini menunjukkan bahwa pengguna telah mendaftar sebelumnya. Dalam hal ini, pengguna perlu mengetik kode TOTP yang muncul di aplikasi pengautentikasi.

Profil teknis:

  • Tidak menyediakan antarmuka untuk berinteraksi dengan pengguna. Sebagai gantinya, antarmuka pengguna dipanggil dari profil teknis yang dinyatakan sendiri , dengan kontrol tampilan TOTP.
  • Menggunakan layanan autentikasi multifaktor Microsoft Entra untuk memvalidasi kode TOTP.
  • Memeriksa apakah pengguna telah mendaftarkan perangkat mereka.

Cuplikan layar berikut menunjukkan alur pendaftaran dan verifikasi TOTP. Ini dimulai dengan memeriksa jumlah perangkat yang tersedia. Jika jumlah perangkat yang tersedia adalah nol, pengguna melewati langkah orkestrasi pendaftaran. Jika tidak, pengguna akan melalui langkah orkestrasi verifikasi.

Cuplikan layar memperlihatkan alur TOTP.

Mendapatkan perangkat yang tersedia

Mode dapatkan perangkat yang tersedia memeriksa jumlah perangkat yang tersedia untuk pengguna. Jika jumlah perangkat yang tersedia adalah nol, ini menunjukkan bahwa pengguna belum mendaftar.

Klaim input

Elemen InputClaims berisi daftar klaim untuk dikirim ke autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.

ClaimReferenceId Diperlukan Deskripsi
userPrincipalName Ya Nama prinsipal pengguna.

Klaim output

Elemen klaim output berisi daftar klaim yang akan dikembalikan dari autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.

ClaimReferenceId Diperlukan Deskripsi
numberOfAvailableDevices Ya Jumlah perangkat yang tersedia untuk pengguna.

Metainformasi

Elemen Metadata berisi atribut berikut.

Karakteristik Diperlukan Deskripsi
Operation Ya Harus berupa GetAvailableDevices .

Contoh: Mendapatkan perangkat yang tersedia

Contoh berikut menunjukkan profil teknis autentikasi multifaktor ID Microsoft Entra yang digunakan untuk mendapatkan jumlah perangkat yang tersedia.

<TechnicalProfile Id="AzureMfa-GetAvailableDevices">
  <DisplayName>Get Available Devices</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">GetAvailableDevices</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="numberOfAvailableDevices" />
  </OutputClaims>
</TechnicalProfile>

Mulai verifikasi TOTP

Mulai verifikasi TOTP memulai proses verifikasi. Profil teknis validasi ini dipanggil dari profil teknis yang dinyatakan sendiri yang menyajikan dan memverifikasi kode TOTP. Profil teknis validasi ini harus diikuti dengan panggilan untuk Memverifikasi profil teknis validasi TOTP .

Klaim input

Elemen InputClaims berisi daftar klaim untuk dikirim ke autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.

ClaimReferenceId Diperlukan Deskripsi
userPrincipalName Ya Nama prinsipal pengguna.
objectId Ya ID objek pengguna.
secretKey Ya Kunci rahasia pengguna. Kunci ini disimpan di profil pengguna di direktori Azure AD B2C dan dibagikan dengan aplikasi pengautentikasi. Aplikasi pengautentikasi menggunakan rahasia untuk menghasilkan kode TOTP. Profil teknis ini menggunakan rahasia untuk memverifikasi kode TOTP.

Klaim output

Penyedia protokol autentikasi multifaktor Microsoft Entra tidak mengembalikan klaim output apa pun, sehingga tidak perlu menentukan klaim output.

Metainformasi

Elemen Metadata berisi atribut berikut.

Karakteristik Diperlukan Deskripsi
Operation Ya Harus berupa BeginVerifyOTP .

Contoh: Mulai verifikasi TOTP

Contoh berikut menunjukkan profil teknis autentikasi multifaktor ID Microsoft Entra yang digunakan untuk memulai proses verifikasi TOTP.

<TechnicalProfile Id="AzureMfa-BeginVerifyOTP">
  <DisplayName>Begin verify TOTP"</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">BeginVerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="secretKey" />
    <InputClaim ClaimTypeReferenceId="objectId" />
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
</TechnicalProfile>

Memverifikasi TOTP

Metode verifikasi TOTP memverifikasi kode TOTP. Profil teknis validasi ini dipanggil dari profil teknis yang dinyatakan sendiri yang menyajikan dan memverifikasi kode TOTP. Profil teknis validasi ini harus didahului dengan panggilan ke profil teknis Mulai verifikasi validasi TOTP .

Klaim input

Elemen InputClaims berisi daftar klaim untuk dikirim ke autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.

ClaimReferenceId Diperlukan Deskripsi
otpCode Ya Kode TOTP yang disediakan oleh pengguna.

Klaim output

Penyedia protokol autentikasi multifaktor Microsoft Entra tidak mengembalikan klaim output apa pun, sehingga tidak perlu menentukan klaim output.

Metainformasi

Elemen Metadata berisi atribut berikut.

Karakteristik Diperlukan Deskripsi
Operation Ya Harus berupa VerifyOTP .

Contoh: Memverifikasi TOTP

Contoh berikut menunjukkan profil teknis autentikasi multifaktor ID Microsoft Entra yang digunakan untuk memverifikasi kode TOTP.

<TechnicalProfile Id="AzureMfa-VerifyOTP">
  <DisplayName>Verify OTP</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">VerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otpCode" />
  </InputClaims>
</TechnicalProfile>

Langkah selanjutnya