Mengonfigurasi Keamanan Transmisi dengan Azure Active Directory B2C untuk autentikasi tanpa kata sandi
Sebelum Anda memulai, gunakan pemilih Pilih jenis kebijakan untuk memilih jenis kebijakan yang Anda siapkan. Azure Active Directory B2C menawarkan dua metode untuk menentukan cara pengguna berinteraksi dengan aplikasi Anda: melalui alur pengguna yang telah ditentukan sebelumnya atau melalui kebijakan kustom yang sepenuhnya dapat dikonfigurasi. Langkah yang diperlukan dalam artikel ini berbeda untuk setiap metode.
Dalam tutorial sampel ini, pelajari cara mengintegrasikan autentikasi Azure Active Directory B2C (Azure AD B2C) dengan solusi autentikasi tanpa kata sandi Keamanan TransmisiBindID. BindID adalah layanan otentikasi tanpa kata sandi yang menggunakan autentikasi biometrik Fast Identity Online (FIDO2) yang kuat untuk pengalaman autentikasi multisaluran yang andal. Solusi ini memastikan pengalaman masuk yang lancar untuk semua pelanggan di setiap perangkat dan saluran, dan menghilangkan penipuan, phishing, dan penggunaan kembali info masuk.
Deskripsi skenario
Diagram arsitektur berikut menunjukkan pelaksanaannya.

| Langkah | Deskripsi |
|---|---|
| 1. | Pengguna membuka halaman masuk Azure AD B2C, lalu masuk atau mendaftar dengan memasukkan nama pengguna mereka. |
| 2. | Azure AD B2C mengalihkan pengguna ke BindID menggunakan permintaan OpenID Koneksi (OIDC). |
| 3. | BindID mengautentikasi pengguna menggunakan biometrik FIDO2 tanpa aplikasi, seperti sidik jari. |
| 4. | Respons autentikasi terdesentralisasi dikembalikan ke BindID. |
| 5. | Respons OIDC diteruskan ke Azure AD B2C. |
| 6. | Pengguna diberikan atau ditolak akses ke aplikasi pelanggan berdasarkan hasil verifikasi. |
Prasyarat
Untuk memulai, Anda akan memerlukan:
Langganan Microsoft Azure Active Directory. Jika Anda tidak memiliki langganan, Anda bisa mendapatkan sebuah akun gratis.
Penyewa AAD B2C yang ditautkan ke langganan Azure Anda.
Penyewa BindID. Anda dapat mendaftar secara gratis.
Jika Anda belum melakukannya, daftarkan aplikasi web di portal Azure.
- Kemampuan untuk menggunakan kebijakan kustom Azure AD B2C. Jika tidak bisa, selesaikan langkah-langkah di Mulai menggunakan kebijakan kustom di Azure Active Directory B2C untuk mempelajari cara menggunakan kebijakan kustom.
Langkah 1: Mendaftarkan aplikasi di BindID
Ikuti langkah-langkah di Mengonfigurasi Aplikasi Anda untuk menambahkan aplikasi di Portal Admin BindID. Informasi berikut diperlukan:
| Properti | Deskripsi |
|---|---|
| Nama | Nama aplikasi Anda, seperti Azure AD B2C BindID app |
| Domain | Masukkan your-B2C-tenant-name.onmicrosoft.com. Ganti your-B2C-tenant dengan nama penyewa AAD B2C Anda. |
| URI Pengalihan | https://jwt.ms/ |
| URL pengalihan | Masukkan https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp. Ganti your-B2C-tenant dengan nama penyewa AAD B2C Anda. Jika Anda menggunakan domain kustom, ganti your-B2C-tenant-name.b2clogin.comdengan domain kustom, seperti contoso.com. |
Setelah mendaftarkan aplikasi di BindID, Anda akan mendapatkan ID Klien dan Rahasia Klien. Rekam nilai yang Anda perlukan nanti untuk mengonfigurasi BindID sebagai IdP di Azure AD B2C.
Langkah 2: Mengonfigurasi BindID sebagai IdP di Azure AD B2C
Masuk ke portal Microsoft Azure sebagai administrator global penyewa Azure AD B2C Anda.
Pastikan Anda menggunakan direktori yang berisi penyewa Azure AD B2C Anda:
Pilih ikon Direktori + langganan di bilah alat portal.
Pada Setelan portal | Direktori + langganan, temukan direktori Azure AD B2C Anda di daftar Nama direktori, lalu pilih Beralih.
Di sudut kiri atas portal Azure, pilih Semua layanan, lalu cari dan pilih Azure AD B2C.
Pilih Penyedia identitas, lalu pilih Penyedia OpenID Connect baru.
Masukkan Nama. Misalnya, masukkan
Login with BindID.Untuk Url Metadata, masukkan
https://signin.bindid-sandbox.io/.well-known/openid-configuration.Untuk ID Klien, masukkan ID aplikasi yang sebelumnya Anda rekam di langkah 1.
Untuk Rahasia klien, masukkan rahasia klien yang sebelumnya Anda rekam di langkah 1.
Untuk Cakupan, masukkan
openid email.Untuk Jenis respons, pilih kode.
Untuk Mode respons, pilih form_post.
Di Pemetaan klaim IdP, pilih klaim berikut:
- ID Pengguna:
sub - Email:
email
- ID Pengguna:
Pilih Simpan.
Langkah 3 : Membuat alur pengguna
Di penyewa AAD B2C Anda, di bawah Kebijakan, pilih Alur pengguna.
Pilih Alur pengguna baru.
Pilih jenis alur pengguna Mendaftar dan masuk, lalu pilih Buat.
Masukkan Nama untuk alur pengguna Anda, seperti
signupsignin.Di IdP:
Untuk Akun Lokal, pilih Tidak Ada untuk menonaktifkan autentikasi berbasis email dan kata sandi.
Untuk IdP kustom, pilihIdP BindID yang baru dibuat seperti Masuk dengan BindID.
Pilih Buat
Langkah 4: Menguji alur pengguna Anda
Di penyewa AAD B2C Anda, pilih Alur pengguna.
Pilih alur pengguna yang baru dibuat seperti B2C_1_signupsignin.
Untuk Aplikasi, pilih aplikasi web yang sebelumnya Anda daftarkan sebagai bagian dari prasyarat artikel ini. URL Balasan harus menampilkan
https://jwt.ms.Pilih tombol Jalankan alur pengguna. Browser Anda akan diarahkan ke halaman masuk BindID.
Masukkan email akun terdaftar dan autentikasi menggunakan biometrik FIDO2 tanpa aplikasi, seperti sidik jari. Setelah tantangan autentikasi diterima, browser Anda harus dialihkan ke
https://jwt.msyang menampilkan konten token yang dimunculkan oleh Azure AD B2C.
Langkah 2: Membuat kunci kebijakan BindID
Tambahkan Rahasia klien aplikasi BindID Anda sebagai kunci kebijakan:
Masuk ke portal Microsoft Azure.
Pastikan Anda menggunakan direktori yang berisi penyewa Azure AD B2C Anda:
Pilih ikon Direktori + langganan di bilah alat portal.
Pada Setelan portal | Direktori + langganan, temukan direktori Azure AD B2C Anda di daftar Nama direktori, lalu pilih Beralih.
Pada halaman Gambaran umum, di Kebijakan, pilih IEF.
Pilih Kunci Kebijakan lalu pilih Tambahkan.
Untuk Opsi, pilih
Manual.Masukkan Nama untuk kunci kebijakan. Contohnya:
BindIDClientSecretAwalanB2C_1A_ditambahkan secara otomatis ke nama kunci Anda.Di Rahasia, masukkan rahasia klien Anda yang sebelumnya Anda rekam di langkah 1.
Untuk Penggunaan kunci, pilih
Signature.Pilih Buat.
Langkah 3: Mengonfigurasi BindID sebagai IdP
Untuk memungkinkan pengguna masuk menggunakan BindID, Anda perlu mendefinisikan BindID sebagai penyedia klaim yang dapat berkomunikasi dengan Azure AD B2C melalui titik akhir. Titik akhir menyediakan serangkaian klaim yang digunakan oleh Azure AD B2C untuk memverifikasi bahwa pengguna tertentu telah mengautentikasi menggunakan identitas digital yang tersedia di perangkat mereka, yang membuktikan identitas pengguna.
Gunakan langkah-langkah berikut untuk menambahkan BindID sebagai penyedia klaim:
Dapatkan paket awal kebijakan kustom dari GitHub, lalu perbarui file XML di paket awal SocialAndLocalAccountsWithMFA dengan nama penyewa AAD B2C Anda:
Unduh file .zip atau kloning repositori:
git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpackDi semua file pada direktori LocalAccounts, ganti untai (karakter)
yourtenantdengan nama penyewa Azure AD B2C Anda. Misalnya, jika nama penyewa B2C Anda adalahcontoso, semua instansyourtenant.onmicrosoft.commenjadicontoso.onmicrosoft.com.
Buka
LocalAccounts/ TrustFrameworkExtensions.xml.Temukan elemen ClaimsProviders. Jika tidak ada, tambahkan di bawah elemen akar.
Tambahkan ClaimsProvider baru yang mirip dengan yang ditunjukkan di bawah ini:
<ClaimsProvider> <Domain>signin.bindid-sandbox.io</Domain> <DisplayName>BindID</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="BindID-OpenIdConnect"> <DisplayName>BindID</DisplayName> <Protocol Name="OpenIdConnect" /> <Metadata> <Item Key="METADATA">https://signin.bindid-sandbox.io/.well-known/openid-configuration</Item> <!-- Update the Client ID below to the BindID Application ID --> <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item> <Item Key="response_types">code</Item> <Item Key="scope">openid email</Item> <Item Key="response_mode">form_post</Item> <Item Key="HttpBinding">POST</Item> <Item Key="UsePolicyInRedirectUri">false</Item> <Item Key="AccessTokenResponseFormat">json</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_BindIDClientSecret" /> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>Atur client_id dengan ID Aplikasi BindID yang sebelumnya Anda rekam di langkah 1.
Simpan perubahan.
Langkah 4: Menambahkan perjalanan
Pada titik ini, Anda telah menyiapkan IdP, tetapi belum tersedia di halaman masuk mana pun. Jika Anda memiliki perjalanan kustom Anda sendiri, lanjutkan ke langkah 5, jika tidak, buat duplikat perjalanan templat yang ada sebagai berikut:
Buka file
LocalAccounts/ TrustFrameworkBase.xmldari paket pemula.Temukan dan salin seluruh konten elemen UserJourney yang menyertakan
Id=SignUpOrSignIn.Buka
LocalAccounts/ TrustFrameworkExtensions.xmldan cari elemen UserJourneys. Jika elemen tersebut tidak ada, tambahkan.Tempelkan seluruh konten elemen UserJourney yang Anda salin sebagai anak dari elemen UserJourneys.
Ganti nama
Idperjalanan. Misalnya,Id=CustomSignUpSignIn
Langkah 5: Menambahkan IdP ke perjalanan
Sekarang setelah Anda memiliki perjalanan pengguna, tambahkan penyedia identitas baru ke perjalanan pengguna.
Dalam perjalanan pengguna, temukan elemen langkah orkestrasi yang mencakup
Type=CombinedSignInAndSignUpatauType=ClaimsProviderSelection. Ini biasanya merupakan langkah orkestrasi pertama. Elemen ClaimsProviderSelections berisi daftar penyedia identitas yang dapat digunakan pengguna untuk masuk. Urutan elemen mengontrol urutan tombol masuk yang ditampilkan kepada pengguna. Tambahkan elemen XML ClaimsProviderSelection. Tetapkan nilai TargetClaimsExchangeId ke nama yang bersahabat, sepertiBindIDExchange.Pada langkah orkestrasi berikutnya, tambahkan elemen ClaimsExchange. Atur Id ke nilai ID pertukaran klaim target untuk menautkan tombol BindID ke
BindID-SignIntindakan. Perbarui nilai TechnicalProfileReferenceId menjadi ID profil teknis yang Anda buat sebelumnya saat menambahkan penyedia klaim.
XML berikut menunjukkan langkah-langkah orkestrasi perjalanan pengguna dengan penyedia identitas:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="BindIDExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="BindIDExchange" TechnicalProfileReferenceId="BindID-OpenIdConnect" />
</ClaimsExchanges>
</OrchestrationStep>
Langkah 6: Mengonfigurasi kebijakan pihak yang mengandalkan
Kebijakan pihak yang mengandalkan, misalnya SignUpSignIn.xml, menentukan perjalanan yang akan dijalankan Azure AD B2C. Anda juga dapat mengontrol klaim apa yang diteruskan ke aplikasi Anda dengan menyesuaikan elemen OutputClaims dari elemen PolicyProfile TechnicalProfile. Dalam sampel ini, aplikasi akan menerima atribut pengguna seperti nama tampilan, nama depan, nama keluarga, email, objectId, IdP, dan tenantId.
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignInWithBindID" />
<TechnicalProfile Id="BindID-OpenIdConnect">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="identityProvider" />
<OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>
Langkah 7: Mengunggah kebijakan kustom
Masuk ke portal Microsoft Azure.
Pastikan Anda menggunakan direktori yang berisi penyewa Azure AD B2C Anda:
Pilih ikon Direktori + langganan di bilah alat portal.
Pada Setelan portal | Direktori + langganan, temukan direktori Azure AD B2C Anda di daftar Nama direktori, lalu pilih Beralih.
Di portal Microsoft Azure, cari dan pilih Azure AD B2C.
Di bawah Kebijakan, pilih IEF.
Pilih Unggah Kebijakan Kustom, lalu unggah file di paket awal LocalAccounts dalam urutan berikut: kebijakan dasar, misalnya
TrustFrameworkBase.xml, kebijakan pelokalan, misalnyaTrustFrameworkLocalization.xml, kebijakan ekstensi, misalnyaTrustFrameworkExtensions.xml, dan kebijakan pihak yang mengandalkan, sepertiSignUpOrSignIn.xml.
Langkah 8: Menguji kebijakan kustom Anda
Di bilah penyewa Azure AD B2C Anda, dan di Kebijakan, pilih IEF.
Di bawah Kebijakan kustom, pilih B2C_1A_signup_signin.
Untuk Aplikasi, pilih aplikasi web yang sebelumnya Anda daftarkan sebagai bagian dari prasyarat artikel ini. URL Balasan harus menampilkan
https://jwt.ms.Pilih Jalankan sekarang. Browser Anda akan diarahkan ke halaman masuk BindID.
Masukkan email akun terdaftar dan autentikasi menggunakan biometrik FIDO2 tanpa aplikasi, seperti sidik jari. Setelah tantangan autentikasi diterima, browser Anda harus dialihkan ke
https://jwt.msyang menampilkan konten token yang dimunculkan oleh Azure AD B2C.
Langkah berikutnya
Untuk informasi tambahan, ulas artikel berikut ini: