Menentukan profil teknis Azure AD Multifactor Authentication dalam kebijakan kustom AAD B2C

Azure Active Directory B2C (Azure AD B2C) memberikan dukungan untuk memverifikasi nomor telepon dengan menggunakan kode verifikasi, atau memverifikasi kode Kata Sandi Sekali Pakai Waktu Terbatas (TOTP).

Catatan

Fitur ini berada dalam pratinjau publik.

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 AAD B2C:

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

Contoh berikut memperlihatkan profil teknis Azure AD Multifactor Authentication:

<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" />
    ...

Mode verifikasi telepon

Dalam mode verifikasi telepon, profil teknis menghasilkan dan mengirim kode ke nomor telepon, lalu memverifikasi kode. Profil teknis Azure AD Multifactor Authentication juga dapat mengembalikan pesan kesalahan. Profil teknis validasi memvalidasi data yang disediakan pengguna sebelum perjalanan berlanjut. Dengan profil teknis validasi, pesan kesalahan ditampilkan di halaman self-asserted. Profil teknis:

  • Tidak menyediakan antarmuka untuk berinteraksi dengan pengguna. Sebagai gantinya, antarmuka pengguna dipanggil dari profil teknis yang dibuat sendiri, atau kontrol tampilan sebagai profil teknis validasi.
  • Gunakan profil teknis Azure AD Multifactor Authentication untuk membuat dan mengirim kode ke nomor telepon, lalu verifikasi 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.

Screenshot showing TOTP flow

Mengirim 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 untuk dikirim ke Azure AD Multifactor Authentication. 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 tujuan pengiriman 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 Azure AD Multifactor Authentication tidak mengembalikan klaim output apa pun, jadi klaim output tidak perlu ditentukan.

Metadata

Elemen Metadata berisi atribut berikut ini.

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

Metadata berikut dapat digunakan untuk mengonfigurasi pesan kesalahan yang ditampilkan pada kegagalan SMS. Metadata harus dikonfigurasi dalam profil teknis yang self-asserted. Pesan kesalahan dapat dilokalkan.

Atribut 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 Pesan kesalahan internal.
UserMessageIfThrottled Tidak Pesan kesalahan pengguna jika permintaan telah dibatasi.

Contoh: mengirim SMS

Contoh berikut memperlihatkan profil teknis Azure AD Multifactor Authentication 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 kode verifikasi akan memverifikasi kode yang dikirim ke pengguna. Opsi berikut dapat dikonfigurasi untuk langkah ini.

Klaim input

Elemen InputClaims berisi daftar untuk dikirim ke Azure AD Multifactor Authentication. 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 Azure AD Multifactor Authentication tidak mengembalikan klaim output apa pun, jadi klaim output tidak perlu ditentukan.

Metadata

Elemen Metadata berisi atribut berikut ini.

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

Metadata berikut dapat digunakan untuk mengkonfigurasi pesan kesalahan yang ditampilkan saat verifikasi kode gagal. Metadata harus dikonfigurasi dalam profil teknis yang self-asserted. Pesan kesalahan dapat dilokalkan.

Atribut Diperlukan Deskripsi
UserMessageIfMaxAllowedCodeRetryReached Tidak Pesan kesalahan pengguna jika pengguna terlalu sering mencoba kode verifikasi.
UserMessageIfServerError Tidak Pesan kesalahan pengguna jika server mengalami Pesan 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 memperlihatkan profil teknis Azure AD Multifactor Authentication yang digunakan untuk memverifikasikan 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 diminta untuk menginstal aplikasi pengautentikasi apa pun yang mendukung verifikasi kata sandi sekali pakai waktu terbatas (TOTP), seperti aplikasi Microsoft Authenticator, pada perangkat yang mereka miliki.

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

Untuk proses masuk berikutnya, gunakan metode Dapatkan perangkat yang tersedia untuk memeriksa apakah pengguna telah mendaftarkan perangkat mereka. Jika jumlah perangkat yang tersedia lebih dari nol, ini menunjukkan 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 dibuat sendiri, dengan kontrol tampilan TOTP.
  • Menggunakan layanan Azure Active Directory Multifactor Authentication untuk memvalidasi kode TOTP.
  • Periksa apakah pengguna telah mendaftarkan perangkat mereka.

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

Screenshot showing TOTP flow.

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 pengguna belum terdaftar.

Klaim input

Elemen InputClaims berisi daftar untuk dikirim ke Azure AD Multifactor Authentication. 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 untuk kembali dari Azure Active Directory Multifactor Authentication. 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.

Metadata

Elemen Metadata berisi atribut berikut ini.

Atribut Diperlukan Deskripsi
Operation Ya Harus berupa GetAvailableDevices.

Contoh: Get available devices

Contoh berikut menunjukkan profil teknis Azure AD Multifactor Authentication 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>

Begin verify TOTP

Langkah Begin verify TOTP memulai proses verifikasi. Profil teknis validasi ini dipanggil dari profil teknis yang dinyatakan secara mandiri yang menyajikan dan memverifikasi kode TOTP. Profil teknis validasi ini harus diikuti dengan panggilan untuk Verifikasi profil teknis validasi TOTP.

Klaim input

Elemen InputClaims berisi daftar untuk dikirim ke Azure AD Multifactor Authentication. 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 Active Directory 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 Azure AD Multifactor Authentication tidak mengembalikan klaim output apa pun, jadi klaim output tidak perlu ditentukan.

Metadata

Elemen Metadata berisi atribut berikut ini.

Atribut Diperlukan Deskripsi
Operation Ya Harus berupa BeginVerifyOTP.

Contoh: Begin verify TOTP

Contoh berikut menunjukkan profil teknis Azure AD Multifactor Authentication 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>

Verify TOTP

Metode Verify TOTP memverifikasi kode TOTP. Profil teknis validasi ini dipanggil dari profil teknis yang dinyatakan secara mandiri yang menyajikan dan memverifikasi kode TOTP. Profil teknis validasi ini harus diikuti dengan panggilan ke profil teknis validasi Begin Verify TOTP.

Klaim input

Elemen InputClaims berisi daftar untuk dikirim ke Azure AD Multifactor Authentication. 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 Azure AD Multifactor Authentication tidak mengembalikan klaim output apa pun, jadi klaim output tidak perlu ditentukan.

Metadata

Elemen Metadata berisi atribut berikut ini.

Atribut Diperlukan Deskripsi
Operation Ya Harus berupa VerifyOTP.

Contoh: Verify TOTP

Contoh berikut memperlihatkan profil teknis Azure AD Multifactor Authentication yang digunakan untuk memverifikasikan 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 berikutnya