Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Berlaku mulai 1 Mei 2025, Azure AD B2C tidak akan lagi tersedia untuk dibeli untuk pelanggan baru. Pelajari lebih lanjut di FAQ kami.
Dalam artikel ini, pelajari cara menyambungkan aplikasi Security Assertion Markup Language (SAML) Anda (penyedia layanan) ke Azure Active Directory B2C (Azure AD B2C) untuk autentikasi.
Sebelum memulai, gunakan pemilih Pilih jenis kebijakan di bagian atas halaman ini 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.
Fitur ini hanya tersedia untuk kebijakan kustom. Untuk langkah-langkah penyiapan, pilih Kebijakan kustom di pemilih sebelumnya.
Gambaran Umum
Organisasi yang menggunakan Azure AD B2C sebagai solusi manajemen identitas dan akses pelanggan mereka mungkin memerlukan integrasi dengan aplikasi yang mengautentikasi dengan menggunakan protokol SAML. Diagram berikut menunjukkan bagaimana Azure AD B2C berfungsi sebagai Penyedia Identitas (IdP) untuk mencapai akses menyeluruh (SSO) dengan aplikasi berbasis SAML.
- Aplikasi ini membuat permintaan SAML AuthN yang dikirim ke titik akhir masuk SAML untuk Azure AD B2C.
- Pengguna dapat menggunakan akun lokal Azure AD B2C atau idP federasi lainnya (jika dikonfigurasi) untuk mengautentikasi.
- Jika pengguna masuk dengan menggunakan penyedia identitas federasi, respons token dikirim ke Azure AD B2C.
- Azure AD B2C menghasilkan pernyataan SAML dan mengirimkannya ke aplikasi.
Tonton video ini untuk mempelajari cara mengintegrasikan aplikasi SAML dengan Azure AD B2C.
Prasyarat
Untuk skenario dalam artikel ini, Anda memerlukan:
- Kebijakan khusus SocialAndLocalAccounts dari paket awal kebijakan khusus. Selesaikan langkah-langkah dalam Memulai kebijakan kustom di Azure AD B2C.
- Pemahaman dasar tentang protokol SAML dan keakraban dengan implementasi SAML aplikasi.
- Aplikasi web yang dikonfigurasi sebagai aplikasi SAML. Ini harus memiliki kemampuan untuk mengirim permintaan SAML AuthN dan untuk menerima, mendekode, dan memverifikasi respons SAML dari Azure AD B2C. Aplikasi SAML juga dikenal sebagai aplikasi pihak yang mengandalkan atau penyedia layanan.
- Titik akhir metadata SAML atau dokumen XML aplikasi SAML yang tersedia untuk umum.
- Pengguna Azure AD B2C.
Jika Anda belum memiliki aplikasi SAML dan titik akhir metadata terkait, Anda dapat menggunakan aplikasi pengujian SAML yang telah kami sediakan untuk pengujian.
Penting
Titik akhir Anda harus mematuhi persyaratan keamanan Azure AD B2C. Versi dan cipher TLS yang lebih lama tidak digunakan lagi. Untuk informasi selengkapnya, lihat persyaratan TLS dan cipher suite Azure AD B2C.
Menyiapkan sertifikat
Untuk membangun hubungan kepercayaan antara aplikasi Anda dan Azure AD B2C, kedua layanan harus dapat membuat dan memvalidasi tanda tangan satu sama lain. Konfigurasikan sertifikat X509 di aplikasi Anda dan di Azure AD B2C.
Sertifikat aplikasi
Penggunaan | Diperlukan | Deskripsi |
---|---|---|
Penandatanganan permintaan SAML | Tidak. | Sertifikat dengan kunci privat yang disimpan di aplikasi web Anda. Aplikasi Anda menggunakan sertifikat untuk menandatangani permintaan SAML yang dikirim ke Azure AD B2C. Aplikasi web harus mengekspos kunci publik melalui titik akhir metadata SAML-nya. Azure AD B2C memvalidasi tanda tangan permintaan SAML dengan menggunakan kunci umum dari metadata aplikasi. |
Enkripsi pernyataan SAML | Tidak. | Sertifikat dengan kunci privat yang disimpan di aplikasi web Anda. Aplikasi web harus mengekspos kunci publik melalui titik akhir metadata SAML-nya. Azure AD B2C dapat mengenkripsi pernyataan ke aplikasi Anda dengan menggunakan kunci publik. Aplikasi ini menggunakan kunci privat untuk mendekripsi pernyataan. |
Sertifikat Azure AD B2C
Penggunaan | Diperlukan | Deskripsi |
---|---|---|
Penandatanganan respons SAML | Ya | Sertifikat dengan kunci privat yang disimpan di Azure AD B2C. Azure AD B2C menggunakan sertifikat ini untuk menandatangani respons SAML yang dikirim ke aplikasi Anda. Aplikasi Anda membaca kunci umum metadata di Azure AD B2C untuk memvalidasi tanda tangan respons SAML. |
Penandatanganan pernyataan SAML | Ya | Sertifikat dengan kunci privat yang disimpan di Azure AD B2C. Azure AD B2C menggunakan sertifikat ini untuk menandatangani <saml:Assertion> bagian dari respons SAML. |
Di lingkungan produksi, sebaiknya gunakan sertifikat yang telah dikeluarkan otoritas sertifikat publik. Tetapi Anda juga dapat menyelesaikan prosedur ini dengan sertifikat yang ditandatangani sendiri.
Membuat kunci kebijakan
Untuk memiliki hubungan kepercayaan antara aplikasi Anda dan Azure AD B2C, buat sertifikat penandatanganan untuk respons SAML. Azure AD B2C menggunakan sertifikat ini untuk menandatangani respons SAML yang dikirim ke aplikasi Anda. Aplikasi Anda membaca kunci umum metadata untuk Azure AD B2C untuk memvalidasi tanda tangan respons SAML.
Petunjuk / Saran
Anda dapat menggunakan kunci kebijakan ini untuk tujuan lain, seperti menandatangani pernyataan SAML.
Mendapatkan sertifikat
Jika Anda belum memiliki sertifikat, Anda dapat menggunakan sertifikat yang ditandatangani sendiri. Sertifikat yang ditandatangani sendiri adalah sertifikat keamanan yang tidak ditandatangani oleh otoritas sertifikat (CA) dan tidak memberikan jaminan keamanan atas sertifikat yang ditandatangani oleh CA.
Di Windows, gunakan cmdlet New-SelfSignedCertificate di PowerShell untuk membuat sertifikat.
Jalankan perintah PowerShell berikut ini untuk membuat sertifikat digital yang ditandatangani sendiri. Ubah argumen
-Subject
yang sesuai untuk aplikasi Anda dan nama penyewa Azure Active Directory B2C seperticontosowebapp.contoso.onmicrosoft.com
. Anda juga dapat mengatur-NotAfter
tanggal untuk menetapkan waktu kedaluwarsa yang berbeda untuk sertifikat.New-SelfSignedCertificate ` -KeyExportPolicy Exportable ` -Subject "CN=yourappname.yourtenant.onmicrosoft.com" ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -KeyUsage DigitalSignature ` -NotAfter (Get-Date).AddMonths(12) ` -CertStoreLocation "Cert:\CurrentUser\My"
Di komputer Windows, cari dan pilih Kelola sertifikat pengguna
Di bawah Sertifikat - Pengguna Saat Ini, pilihSertifikat>Pribadi>yourappname.yourtenant.onmicrosoft.com.
Pilih sertifikat, lalu pilih Tindakan>Semua Tugas>Ekspor.
Pilih Berikutnya>Ya, ekspor kunci> privatBerikutnya.
Terima default untuk Ekspor Format File, lalu pilih Berikutnya.
Aktifkan opsi Kata Sandi , masukkan kata sandi untuk sertifikat, lalu pilih Berikutnya.
Untuk menentukan lokasi untuk menyimpan sertifikat Anda, pilih Telusuri dan navigasikan ke direktori pilihan Anda.
Pada jendela Simpan Sebagai , masukkan Nama file, lalu pilih Simpan.
Pilih Berikutnya>Selesai.
Agar Azure Active Directory B2C menerima kata sandi file .pfx, kata sandi harus dienkripsi dengan opsi TripleDES-SHA1 di utilitas Ekspor Simpan Sertifikat Windows, bukan di AES256-SHA256.
Mengunggah sertifikat
Anda perlu menyimpan sertifikat Anda di penyewa Azure AD B2C Anda.
- Masuk ke portal Azure.
- Jika Anda memiliki akses ke beberapa penyewa, pilih ikon Pengaturan di menu atas untuk beralih ke penyewa Azure AD B2C Anda dari menu Direktori + langganan .
- Pilih Semua layanan di sudut kiri atas portal Microsoft Azure, lalu cari dan pilih Azure AD B2C.
- Pada halaman Gambaran Umum , pilih Kerangka Kerja Pengalaman Identitas.
- Pilih Kunci Kebijakan, lalu pilih Tambahkan.
- Untuk Opsi, pilih Unggah.
- Untuk Nama, masukkan nama untuk kunci kebijakan. Misalnya, masukkan SamlIdpCert. Awalan B2C_1A_ ditambahkan secara otomatis ke nama kunci Anda.
- Telusuri dan pilih file .pfx sertifikat Anda dengan kunci privat.
- Pilih Buat.
Aktifkan pengaturan Anda untuk terhubung dengan aplikasi SAML
Untuk menyambungkan ke aplikasi SAML Anda, Azure AD B2C harus dapat membuat respons SAML.
Buka SocialAndLocalAccounts\TrustFrameworkExtensions.xml dalam paket awal kebijakan kustom.
Temukan bagian <ClaimsProviders>
dan tambahkan cuplikan XML berikut untuk mengimplementasikan generator respons SAML Anda:
<ClaimsProvider>
<DisplayName>Token Issuer</DisplayName>
<TechnicalProfiles>
<!-- SAML Token Issuer technical profile -->
<TechnicalProfile Id="Saml2AssertionIssuer">
<DisplayName>Token Issuer</DisplayName>
<Protocol Name="SAML2"/>
<OutputTokenFormat>SAML2</OutputTokenFormat>
<Metadata>
<Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
</Metadata>
<CryptographicKeys>
<Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
<Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
</CryptographicKeys>
<InputClaims/>
<OutputClaims/>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
</TechnicalProfile>
<!-- Session management technical profile for SAML-based tokens -->
<TechnicalProfile Id="SM-Saml-issuer">
<DisplayName>Session Management Provider</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Konfigurasi URI penerbit respons SAML
Anda dapat mengubah nilai IssuerUri
item metadata di profil teknis Penerbit Token SAML. Perubahan ini tercermin dalam atribut yang dikembalikan issuerUri
dalam respons SAML dari Azure AD B2C. Konfigurasikan aplikasi Anda untuk menerima nilai yang sama IssuerUri
selama validasi respons SAML.
<ClaimsProvider>
<DisplayName>Token Issuer</DisplayName>
<TechnicalProfiles>
<!-- SAML Token Issuer technical profile -->
<TechnicalProfile Id="Saml2AssertionIssuer">
<DisplayName>Token Issuer</DisplayName>
<Protocol Name="SAML2"/>
<OutputTokenFormat>SAML2</OutputTokenFormat>
<Metadata>
<Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
</Metadata>
...
</TechnicalProfile>
Konfigurasikan kebijakan Anda untuk mengeluarkan respons SAML
Sekarang setelah kebijakan Anda dapat membuat respons SAML, Anda harus mengonfigurasi kebijakan untuk mengeluarkan respons SAML alih-alih respons JWT default ke aplikasi Anda.
Membuat kebijakan pendaftaran atau masuk yang dikonfigurasi untuk SAML
Buat salinan file SignUpOrSignin.xml di direktori kerja paket pemula Anda dan simpan dengan nama baru. Artikel ini menggunakan SignUpOrSigninSAML.xml sebagai contoh. File ini adalah file kebijakan Anda untuk pihak yang mengandalkan. Ini dikonfigurasi untuk mengeluarkan respons JWT secara default.
Buka file SignUpOrSigninSAML.xml di editor pilihan Anda.
Ubah nilai:
PolicyId
keB2C_1A_signup_signin_saml
PublicPolicyUri
kehttp://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml
. Ganti placeholder<tenant-name>
dengan subdomain nama domain penyewa Azure AD B2C Anda. Misalnya, jika domain utama penyewa Anda adalahcontoso.onmicrosoft.com
, gunakancontoso
. Jika Anda tidak memiliki nama penyewa, pelajari cara membaca detail penyewa Anda.
<TrustFrameworkPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06" PolicySchemaVersion="0.3.0.0" TenantId="<tenant-name>.onmicrosoft.com" PolicyId="B2C_1A_signup_signin_saml" PublicPolicyUri="http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml">
Di akhir perjalanan pengguna, Azure AD B2C berisi langkah
SendClaims
. Langkah ini mereferensikan profil teknis Penerbit Token. Untuk mengeluarkan respons SAML bukan respons JWT default, ubahSendClaims
step untuk membuat referensi profil teknis Penerbit Token SAML yang baru,Saml2AssertionIssuer
.
Tambahkan cuplikan XML berikut tepat sebelum <RelyingParty>
elemen . XML ini menggantikan langkah orkestrasi 7 dalam perjalanan pengguna SignUpOrSignIn.
Jika Anda memulai dari folder lain dalam paket pemula atau Anda menyesuaikan perjalanan pengguna dengan menambahkan atau menghapus langkah-langkah orkestrasi, pastikan angka dalam order
elemen sesuai dengan nomor yang ditentukan dalam perjalanan pengguna untuk langkah penerbit token. Misalnya, di folder paket pemula lainnya, nomor langkah yang sesuai adalah 4 untuk LocalAccounts
, 6 untuk SocialAccounts
, dan 9 untuk SocialAndLocalAccountsWithMfa
.
<UserJourneys>
<UserJourney Id="SignUpOrSignIn">
<OrchestrationSteps>
<OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
</OrchestrationSteps>
</UserJourney>
</UserJourneys>
Elemen pihak yang mengandalkan menentukan protokol mana yang digunakan aplikasi Anda. Defaultnya adalah OpenId
. Elemen Protocol
harus diubah menjadi SAML
. Klaim output akan membuat pemetaan klaim ke pernyataan SAML.
Ganti seluruh <TechnicalProfile>
elemen dalam <RelyingParty>
elemen dengan XML profil teknis berikut.
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="SAML2"/>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
</OutputClaims>
<SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
</TechnicalProfile>
File kebijakan akhir Anda untuk pihak yang mengandalkan akan terlihat seperti kode XML berikut:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrustFrameworkPolicy
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
PolicySchemaVersion="0.3.0.0"
TenantId="contoso.onmicrosoft.com"
PolicyId="B2C_1A_signup_signin_saml"
PublicPolicyUri="http://contoso.onmicrosoft.com/B2C_1A_signup_signin_saml">
<BasePolicy>
<TenantId>contoso.onmicrosoft.com</TenantId>
<PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
</BasePolicy>
<UserJourneys>
<UserJourney Id="SignUpOrSignIn">
<OrchestrationSteps>
<OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
</OrchestrationSteps>
</UserJourney>
</UserJourneys>
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="SAML2"/>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
</OutputClaims>
<SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
</TechnicalProfile>
</RelyingParty>
</TrustFrameworkPolicy>
Nota
Anda dapat mengikuti proses yang sama ini untuk mengimplementasikan jenis alur pengguna lain (misalnya: masuk, reset kata sandi, atau alur pengeditan profil).
Mengunggah kebijakan Anda
Simpan perubahan Anda dan unggah file kebijakanTrustFrameworkExtensions.xml dan SignUpOrSigninSAML.xml baru ke portal Microsoft Azure.
Menguji metadata SAML IdP Azure AD B2C
Setelah file kebijakan diunggah, Azure AD B2C menggunakan informasi konfigurasi untuk menghasilkan dokumen metadata SAML penyedia identitas yang akan digunakan aplikasi. Dokumen metadata SAML berisi lokasi layanan, seperti metode masuk, metode keluar, dan sertifikat.
Metadata kebijakan Azure AD B2C tersedia di URL berikut:
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata
Ganti <tenant-name>
dengan nama penyewa Azure AD B2C Anda. Ganti <policy-name>
dengan nama (ID) kebijakan. Berikut adalah contohnya:
https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata
Mendaftarkan aplikasi SAML Anda di Azure AD B2C
Agar Azure AD B2C mempercayai aplikasi Anda, Anda membuat pendaftaran aplikasi Azure AD B2C. Pendaftaran berisi informasi konfigurasi, seperti titik akhir metadata aplikasi.
- Masuk ke portal Azure.
- Jika Anda memiliki akses ke beberapa penyewa, pilih ikon Pengaturan di menu atas untuk beralih ke penyewa Azure AD B2C Anda dari menu Direktori + langganan .
- Di menu sebelah kiri, pilih Azure AD B2C. Atau, pilih Semua layanan lalu cari dan pilih Azure AD B2C.
- Pilih Pendaftaran aplikasi, lalu pilih Pendaftaran baru.
- Masukkan Nama untuk aplikasi. Misalnya, masukkan SAMLApp1.
- Di bawah Jenis akun yang didukung, pilih Hanya akun dalam direktori organisasi ini.
- Di bawah URI Pengalihan, pilih Web, lalu masukkan
https://localhost
. Anda mengubah nilai ini nanti dalam manifes pendaftaran aplikasi. - Pilih Daftarkan.
Mengonfigurasi aplikasi Anda di Azure AD B2C
Untuk aplikasi SAML, Anda perlu mengonfigurasi beberapa properti dalam manifes pendaftaran aplikasi.
- Di portal Microsoft Azure, buka pendaftaran aplikasi yang Anda buat di bagian sebelumnya.
- Di bawah Kelola, pilih Manifes untuk membuka editor manifes. Kemudian ubah properti yang dijelaskan di bagian berikut.
Menambahkan pengidentifikasi
Saat aplikasi SAML Anda membuat permintaan ke Azure AD B2C, permintaan SAML AuthN menyertakan Issuer
atribut. Nilai atribut ini biasanya sama dengan nilai metadata entityID
aplikasi. Azure AD B2C menggunakan nilai ini untuk mencari pendaftaran aplikasi di direktori dan membaca konfigurasi. Agar pencarian ini berhasil, identifierUri
dalam pendaftaran aplikasi harus diisi dengan nilai yang cocok dengan atribut Issuer
.
Dalam manifes pendaftaran, temukan identifierURIs
parameter dan tambahkan nilai yang sesuai. Nilai ini adalah nilai yang sama yang dikonfigurasi dalam permintaan SAML AuthN untuk EntityId
di aplikasi, dan nilai entityID
dalam metadata aplikasi. Anda juga harus menemukan accessTokenAcceptedVersion
parameter dan mengatur nilai ke 2
.
Penting
Jika Anda tidak memperbarui accessTokenAcceptedVersion
ke 2
Anda mendapatkan pesan kesalahan yang memerlukan domain terverifikasi.
Contoh berikut menunjukkan nilai entityID
pada metadata SAML.
<EntityDescriptor ID="id123456789" entityID="https://samltestapp2.azurewebsites.net" validUntil="2099-12-31T23:59:59Z" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
Properti identifierUris
hanya menerima URL di domain tenant-name.onmicrosoft.com
.
"identifierUris":"https://tenant-name.onmicrosoft.com/app-name",
Berbagi metadata aplikasi dengan Azure AD B2C
Setelah pendaftaran aplikasi dimuat berdasarkan nilainya identifierUri
, Azure AD B2C menggunakan metadata aplikasi untuk memvalidasi permintaan SAML AuthN dan menentukan cara untuk memberikan tanggapan.
Sebaiknya aplikasi Anda mengekspos titik akhir metadata yang dapat diakses publik.
Jika ada properti yang ditentukan dalam URL metadata SAML dan manifes pendaftaran aplikasi, properti tersebut akan digabungkan. Properti yang ditentukan dalam URL metadata diproses terlebih dahulu dan diutamakan.
Menggunakan aplikasi pengujian SAML sebagai contoh, Anda akan menggunakan nilai berikut untuk samlMetadataUrl
dalam manifes aplikasi:
"samlMetadataUrl":"https://samltestapp2.azurewebsites.net/Metadata",
Mengubah atau menetapkan URL penerima pernyataan (opsional)
Anda dapat mengonfigurasi URL balasan tempat Azure AD B2C mengirim respons SAML. URL balasan dapat dikonfigurasi dalam manifes aplikasi. Konfigurasi ini berguna saat aplikasi Anda tidak mengekspos titik akhir metadata yang dapat diakses publik.
URL balasan untuk aplikasi SAML adalah titik akhir di mana aplikasi mengharapkan untuk menerima respons SAML. Aplikasi biasanya menyediakan URL ini dalam dokumen metadata sebagai atribut Location
dari elemen AssertionConsumerService
, seperti yang ditunjukkan dalam contoh ini:
<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
...
<AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://samltestapp2.azurewebsites.net/SP/AssertionConsumer" />
</SPSSODescriptor>
Jika elemen metadata AssertionConsumerService
aplikasi hilang, atau Anda ingin mengambil alihnya, konfigurasikan properti manifes replyUrlsWithType
pendaftaran aplikasi. Azure AD B2C menggunakan replyUrlsWithType
untuk mengalihkan pengguna setelah mereka masuk menggunakan HTTP-POST
jenis pengikatan.
Dengan menggunakan aplikasi pengujian SAML sebagai contoh, Anda akan mengatur url
properti replyUrlsWithType
ke nilai yang ditunjukkan dalam cuplikan JSON berikut:
"replyUrlsWithType":[
{
"url":"https://samltestapp2.azurewebsites.net/SP/AssertionConsumer",
"type":"Web"
}
],
Menggantikan atau mengatur URL logout (opsional)
URL logout menentukan tempat untuk mengalihkan pengguna setelah permintaan logout. Aplikasi biasanya menyediakan URL ini dalam dokumen metadata sebagai Location
atribut SingleLogoutService
elemen , seperti yang ditunjukkan dalam contoh berikut:
<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://samltestapp2.azurewebsites.net/logout" ResponseLocation="https://samltestapp2.azurewebsites.net/logout" />
</SPSSODescriptor>
Jika elemen metadata SingleLogoutService
aplikasi hilang, konfigurasikan properti manifes logoutUrl
pendaftaran aplikasi. Azure AD B2C menggunakan logoutURL
untuk mengalihkan pengguna setelah mereka keluar menggunakan HTTP-Redirect
jenis pengikatan.
Dengan menggunakan aplikasi pengujian SAML sebagai contoh, Anda akan mengatur properti ke logoutUrl
https://samltestapp2.azurewebsites.net/logout
:
"logoutUrl": "https://samltestapp2.azurewebsites.net/logout",
Nota
Jika Anda memilih untuk mengonfigurasi URL balasan dan URL keluar dalam manifes aplikasi tanpa mengisi titik akhir metadata aplikasi melalui samlMetadataUrl
properti , Azure AD B2C tidak akan memvalidasi tanda tangan permintaan SAML. Ini juga tidak akan mengenkripsi respons SAML.
Mengonfigurasi Azure AD B2C sebagai IDP SAML di aplikasi SAML Anda
Langkah terakhir adalah mengaktifkan Azure AD B2C sebagai IDP SAML di aplikasi SAML Anda. Setiap aplikasi berbeda dan langkah-langkahnya bervariasi. Lihat dokumentasi aplikasi Anda untuk detailnya.
Metadata dapat dikonfigurasi dalam aplikasi Anda sebagai metadata statis atau metadata dinamis. Dalam mode statis, salin semua atau sebagian metadata dari metadata kebijakan Azure AD B2C. Dalam mode dinamis, berikan URL ke metadata dan izinkan aplikasi Anda membaca metadata secara dinamis.
Beberapa atau semua hal berikut biasanya diperlukan:
Metadata: Gunakan format
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadata
.Penerbit: Nilai
issuer
permintaan SAML harus sesuai dengan salah satu URI yang dikonfigurasi dalam elemenidentifierUris
manifes pendaftaran aplikasi. Jika nama permintaanissuer
SAML tidak ada diidentifierUris
elemen , tambahkan ke manifes pendaftaran aplikasi. Misalnya:https://contoso.onmicrosoft.com/app-name
.URL Masuk, titik akhir SAML, URL SAML: Periksa nilai dalam file metadata kebijakan SAML Azure AD B2C untuk
<SingleSignOnService>
elemen XML.Sertifikat: Sertifikat ini B2C_1A_SamlIdpCert, tetapi tanpa kunci privat. Untuk mendapatkan kunci umum sertifikat:
- Buka URL metadata yang ditentukan sebelumnya.
- Salin nilai dalam
<X509Certificate>
elemen . - Tempelkan ke dalam file teks.
- Simpan file teks sebagai file .cer .
Uji dengan aplikasi pengujian SAML
Anda dapat menggunakan aplikasi pengujian SAML kami untuk menguji konfigurasi Anda:
- Perbarui nama penyewa.
- Perbarui nama kebijakan. Misalnya, gunakan B2C_1A_signup_signin_saml.
- Tentukan URI penerbit. Gunakan salah satu URI yang terdapat dalam elemen
identifierUris
di manifes pendaftaran aplikasi. Misalnya, gunakanhttps://contoso.onmicrosoft.com/app-name
.
Pilih Masuk, dan layar masuk pengguna akan muncul. Setelah Anda masuk, tanggapan SAML akan dikirim kembali ke aplikasi contoh.
Modalitas SAML yang didukung dan tidak didukung
Skenario aplikasi SAML berikut didukung melalui titik akhir metadata Anda sendiri:
- Tentukan beberapa URL keluar atau pengikatan POST untuk URL keluar di aplikasi atau objek perwakilan layanan.
- Tentukan kunci penandatanganan untuk memverifikasi permintaan pihak yang mengandalkan dalam aplikasi atau objek perwakilan layanan.
- Tentukan kunci enkripsi token di aplikasi atau objek perwakilan layanan.
- Tentukan penerapan yang dimulai oleh IdP, di mana penyedia identitas adalah Azure AD B2C.
Konten terkait
- Dapatkan aplikasi web uji SAML dari repositori komunitas GitHub Azure AD B2C.
- Lihat opsi untuk mendaftarkan aplikasi SAML di Azure AD B2C.
- Pelajari cara membangun Ketahanan melalui praktik terbaik pengembang.