Bagikan melalui


Mendaftarkan aplikasi SAML di 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.

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.

Diagram dengan Azure Active Directory B2C sebagai penyedia identitas di sebelah kiri dan sebagai penyedia layanan di sebelah kanan.

  1. Aplikasi ini membuat permintaan SAML AuthN yang dikirim ke titik akhir masuk SAML untuk Azure AD B2C.
  2. Pengguna dapat menggunakan akun lokal Azure AD B2C atau idP federasi lainnya (jika dikonfigurasi) untuk mengautentikasi.
  3. Jika pengguna masuk dengan menggunakan penyedia identitas federasi, respons token dikirim ke Azure AD B2C.
  4. 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.

  1. 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 seperti contosowebapp.contoso.onmicrosoft.com. Anda juga dapat mengatur -NotAftertanggal 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"
    
  2. Di komputer Windows, cari dan pilih Kelola sertifikat pengguna

  3. Di bawah Sertifikat - Pengguna Saat Ini, pilihSertifikat>Pribadi>yourappname.yourtenant.onmicrosoft.com.

  4. Pilih sertifikat, lalu pilih Tindakan>Semua Tugas>Ekspor.

  5. Pilih Berikutnya>Ya, ekspor kunci> privatBerikutnya.

  6. Terima default untuk Ekspor Format File, lalu pilih Berikutnya.

  7. Aktifkan opsi Kata Sandi , masukkan kata sandi untuk sertifikat, lalu pilih Berikutnya.

  8. Untuk menentukan lokasi untuk menyimpan sertifikat Anda, pilih Telusuri dan navigasikan ke direktori pilihan Anda.

  9. Pada jendela Simpan Sebagai , masukkan Nama file, lalu pilih Simpan.

  10. 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.

  1. Masuk ke portal Azure.
  2. 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 .
  3. Pilih Semua layanan di sudut kiri atas portal Microsoft Azure, lalu cari dan pilih Azure AD B2C.
  4. Pada halaman Gambaran Umum , pilih Kerangka Kerja Pengalaman Identitas.
  5. Pilih Kunci Kebijakan, lalu pilih Tambahkan.
  6. Untuk Opsi, pilih Unggah.
  7. Untuk Nama, masukkan nama untuk kunci kebijakan. Misalnya, masukkan SamlIdpCert. Awalan B2C_1A_ ditambahkan secara otomatis ke nama kunci Anda.
  8. Telusuri dan pilih file .pfx sertifikat Anda dengan kunci privat.
  9. 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

  1. 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.

  2. Buka file SignUpOrSigninSAML.xml di editor pilihan Anda.

  3. Ubah nilai:

    1. PolicyId ke B2C_1A_signup_signin_saml

    2. PublicPolicyUri ke http://<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 adalah contoso.onmicrosoft.com, gunakan contoso. 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">
    
  4. 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, ubah SendClaims 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.

  1. Masuk ke portal Azure.
  2. 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 .
  3. Di menu sebelah kiri, pilih Azure AD B2C. Atau, pilih Semua layanan lalu cari dan pilih Azure AD B2C.
  4. Pilih Pendaftaran aplikasi, lalu pilih Pendaftaran baru.
  5. Masukkan Nama untuk aplikasi. Misalnya, masukkan SAMLApp1.
  6. Di bawah Jenis akun yang didukung, pilih Hanya akun dalam direktori organisasi ini.
  7. Di bawah URI Pengalihan, pilih Web, lalu masukkan https://localhost. Anda mengubah nilai ini nanti dalam manifes pendaftaran aplikasi.
  8. Pilih Daftarkan.

Mengonfigurasi aplikasi Anda di Azure AD B2C

Untuk aplikasi SAML, Anda perlu mengonfigurasi beberapa properti dalam manifes pendaftaran aplikasi.

  1. Di portal Microsoft Azure, buka pendaftaran aplikasi yang Anda buat di bagian sebelumnya.
  2. 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 logoutUrlhttps://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 elemen identifierUris manifes pendaftaran aplikasi. Jika nama permintaan issuer SAML tidak ada di identifierUris 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:

    1. Buka URL metadata yang ditentukan sebelumnya.
    2. Salin nilai dalam <X509Certificate> elemen .
    3. Tempelkan ke dalam file teks.
    4. 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, gunakan https://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: