Menentukan profil teknis autentikasi multifaktor ID Microsoft Entra dalam kebijakan kustom Azure AD 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).
Protokol
Atribut Nama dari elemen Protokol perlu diatur ke Proprietary
. Atribut handler harus berisi nama yang sepenuhnya memenuhi syarat dari perakitan 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" />
...
Mode verifikasi 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 berlanjut. Dengan profil teknis validasi, pesan kesalahan ditampilkan di halaman yang dibuat sendiri. Profil teknis:
- Tidak menyediakan antarmuka untuk berinteraksi dengan pengguna. Sebaliknya, antarmuka pengguna dipanggil dari profil teknis self-asserted, atau kendali 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.
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 klaim untuk dikirim ke autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.
ClaimReferenceId | Wajib | 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 autentikasi multifaktor Microsoft Entra tidak mengembalikan klaim output apa pun, sehingga tidak perlu menentukan klaim output.
Metadata
Elemen Metadata berisi atribut berikut ini.
Atribut | Wajib | Deskripsi |
---|---|---|
Operation |
Ya | Harus berupa OneWaySMS . |
Elemen antarmuka pengguna
Metadata berikut dapat digunakan untuk mengonfigurasi pesan kesalahan yang ditampilkan saat kegagalan mengirim SMS. Metadata harus dikonfigurasi dalam profil teknis yang dibuat sendiri. Pesan kesalahan dapat dilokalisasi.
Atribut | Wajib | 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 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 kode verifikasi akan 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 | Wajib | 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.
Metadata
Elemen Metadata berisi atribut berikut ini.
Atribut | Wajib | Deskripsi |
---|---|---|
Operation |
Ya | Harus berupa Verify . |
Elemen antarmuka pengguna
Metadata berikut dapat digunakan untuk mengkonfigurasi pesan kesalahan yang ditampilkan saat kegagalan verifikasi kode. Metadata harus dikonfigurasi dalam profil teknis yang dibuat sendiri. Pesan kesalahan dapat dilokalisasi.
Atribut | Wajib | 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 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 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 autentikasi multifaktor Microsoft Entra 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.
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 klaim untuk dikirim ke autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.
ClaimReferenceId | Wajib | 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 | Wajib | Deskripsi |
---|---|---|
numberOfAvailableDevices |
Ya | Jumlah perangkat yang tersedia untuk pengguna. |
Metadata
Elemen Metadata berisi atribut berikut ini.
Atribut | Wajib | Deskripsi |
---|---|---|
Operation |
Ya | Harus berupa GetAvailableDevices . |
Contoh: Get available devices
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>
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 klaim untuk dikirim ke autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.
ClaimReferenceId | Wajib | 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 autentikasi multifaktor Microsoft Entra tidak mengembalikan klaim output apa pun, sehingga tidak perlu menentukan klaim output.
Metadata
Elemen Metadata berisi atribut berikut ini.
Atribut | Wajib | Deskripsi |
---|---|---|
Operation |
Ya | Harus berupa BeginVerifyOTP . |
Contoh: Begin verify 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>
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 klaim untuk dikirim ke autentikasi multifaktor Microsoft Entra. Anda juga dapat memetakan nama klaim Anda ke nama yang ditentukan dalam profil teknis MFA.
ClaimReferenceId | Wajib | 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.
Metadata
Elemen Metadata berisi atribut berikut ini.
Atribut | Wajib | Deskripsi |
---|---|---|
Operation |
Ya | Harus berupa VerifyOTP . |
Contoh: Verify 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>