Mendaftarkan aplikasi SAML di Azure AD B2C

Dalam artikel ini, pelajari cara menyambungkan aplikasi Security Assertion Markup Language (SAML) (penyedia layanan) Anda ke Azure Active Directory B2C (Azure AD B2C) untuk autentikasi.

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

Fitur ini tersedia hanya untuk kebijakan kustom. Untuk langkah-langkah penyiapan, pilih Kebijakan kustom dalam pemilih sebelumnya.

Gambaran Umum

Organisasi yang menggunakan Azure AD B2C sebagai identitas pelanggan dan solusi manajemen akses mereka mungkin membutuhkan integrasi dengan aplikasi yang mengautentikasi dengan menggunakan protokol SAML. Diagram berikut menunjukkan bagaimana Azure AD B2C berfungsi sebagai penyedia identitas (IdP) untuk mencapai single-sign-on (SSO) dengan aplikasi berbasis SAML.

Diagram with Azure Active Directory B2C as an identity provider on the left and as a service provider on the right.

  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 menggunakan penyedia identitas terfederasi, 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 perlu:

  • Kebijakan kustom SocialAndLocalAccounts dari paket pemula kebijakan kustom. Selesaikan langkah-langkah dalam Mulai kebijakan kustom di Azure AD B2C.
  • Pemahaman dasar tentang protokol SAML dan pemahaman atas implementasi SAML aplikasi.
  • Aplikasi web dikonfigurasi sebagai aplikasi SAML. Aplikasi web tersebut harus memiliki kemampuan untuk mengirim permintaan SAML AuthN dan menerima, mendekode, dan memverifikasi respons SAML dari Azure AD B2C. Aplikasi SAML juga dikenal sebagai penyedia aplikasi atau layanan pihak yang mengandalkan.
  • Aplikasi SAML tersedia untuk umum titik akhir metadata SAML atau dokumen XML.
  • Penyewa Azure AD B2C.

Jika Anda belum memiliki aplikasi SAML dan titik akhir metadata terkait, Anda dapat menggunakan aplikasi uji 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 lebih lanjut, lihat Persyaratan Azure AD B2C TLS dan cipher suite.

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 Wajib 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 umum 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 umum melalui titik akhir metadata SAML-nya. Azure AD B2C dapat mengenkripsi pernyataan ke aplikasi Anda menggunakan kunci umum. Aplikasi ini menggunakan kunci privat untuk mendekripsi pernyataan.

Sertifikat Azure AD B2C

Penggunaan Wajib 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 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 bagian <saml:Assertion> dari respons SAML.

Di lingkungan produksi, sebaiknya gunakan sertifikat yang dikeluarkan oleh otoritas sertifikat umum. Namun, Anda juga dapat menyelesaikan prosedur ini dengan sertifikat yang ditandatangani sendiri.

Buat 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 Azure AD B2C untuk memvalidasi tanda tangan respons SAML.

Tip

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

  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, pilih Sertifikat>Pribadi>yourappname.yourtenant.onmicrosoft.com.

  4. Pilih sertifikat, lalu pilihTindakan>Semua Tugas>Ekspor.

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

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

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

  8. Untuk menentukan lokasi penyimpanan sertifikat, pilih Jelajahi 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.

Unggah sertifikat

Anda harus menyimpan sertifikat 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 pojok 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 kebijakan Anda untuk tersambung dengan aplikasi SAML

Untuk menyambungkan ke aplikasi SAML Anda, Azure AD B2C harus dapat membuat respons SAML.

Buka SocialAndLocalAccounts\TrustFrameworkExtensions.xml di paket pemula 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>

Konfigurasikan URI penerbit dari respons SAML

Anda dapat mengubah nilai item metadata IssuerUri di profil teknis Penerbit Token SAML. Perubahan ini akan tercermin dalam atribut issuerUri yang dikembalikan dalam respons SAML dari Azure AD B2C. Konfigurasikan aplikasi Anda untuk menerima nilai IssuerUri yang sama 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 menerbitkan 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 berkepentingan. Dikonfigurasi untuk menerbitkan 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 <tenant-name> tempat penampung 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, Azure AD B2C berisi langkah SendClaims. Langkah ini mereferensikan profil teknis Penerbit Token. Untuk menerbitkan respons SAML dan bukan respons JWT default, modifikasi langkah SendClaims untuk mereferensikan profil teknis Penerbit Token SAML baru, Saml2AssertionIssuer.

Tambahkan cuplikan XML berikut tepat sebelum elemen <RelyingParty>. XML ini menimpa langkah orkestrasi nomor 7 dalam perjalanan SignUpOrSignIn.

Jika Anda memulai dari folder lain dalam paket pemula atau menyesuaikan perjalanan dengan menambahkan atau menghapus langkah-langkah orkestrasi, pastikan angka dalam elemen order sesuai dengan nomor yang ditentukan dalam perjalanan untuk langkah pengeluar sertifikat token. Misalnya, dalam 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. Default adalah OpenId. Elemen Protocol harus diubah menjadi SAML. Klaim output akan membuat pemetaan klaim ke pernyataan SAML.

Ganti seluruh elemen <TechnicalProfile> dalam elemen <RelyingParty> 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 untuk pihak yang berkepentingan seharusnya 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>

Catatan

Anda dapat mengikuti proses yang sama ini untuk menerapkan jenis alur pengguna lainnya (misalnya: alur rincian masuk, pengaturan ulang kata sandi, atau edit profil).

Unggah kebijakan Anda

Simpan perubahan Anda dan unggah file kebijakan TrustFrameworkExtensions.xml dan SignUpOrSigninSAML.xml baru ke portal Microsoft Azure.

Uji 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 oleh 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 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, buat 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 Alihkan URI, pilih Web, lalu masukkan https://localhost. Anda akan memodifikasi nilai ini nanti dalam manifest pendaftaran aplikasi.
  8. Pilih Daftarkan.

Mengonfigurasi aplikasi Anda di Azure AD B2C

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

  1. Di portal Microsoft Azure, buka pendaftaran aplikasi yang Anda buat di bagian sebelumnya.
  2. Di bagian Kelola, pilih Manifes untuk membuka editor manifes. Kemudian modifikasi properti yang dijelaskan di bagian berikut.

Menambahkan pengidentifikasi

Ketika aplikasi SAML Anda mengajukan permintaan ke Azure AD B2C, permintaan SAML AuthN menyertakan atribut Issuer. Nilai atribut ini biasanya sama dengan nilai entityID metadata aplikasi. Azure AD B2C menggunakan nilai ini untuk mencari pendaftaran aplikasi di direktori dan membaca konfigurasi. Agar pencarian ini berhasil, identifierUri di pendaftaran aplikasi harus diisi dengan nilai yang cocok dengan atribut Issuer.

Dalam manifes pendaftaran, temukan parameter identifierURIs dan tambahkan nilai yang sesuai. Nilai ini akan menjadi 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 akan menerima pesan kesalahan yang memerlukan domain terverifikasi.

Contoh berikut menunjukkan nilai entityID di 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 akan menerima URL pada domain tenant-name.onmicrosoft.com.

"identifierUris":"https://tenant-name.onmicrosoft.com/app-name",

Berbagi metadata aplikasi dengan Azure AD B2C

Setelah pendaftaran aplikasi dimuat oleh nilai identifierUrinya, Azure AD B2C menggunakan metadata aplikasi untuk memvalidasi permintaan SAML AuthN dan menentukan cara merespons.

Disarankan agar aplikasi Anda mengekspos titik akhir metadata yang dapat diakses publik.

Jika ada properti yang ditentukan dalam kedua URL metadata SAML dan manifes pendaftaran aplikasi, maka keduanya 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 di manifes aplikasi:

"samlMetadataUrl":"https://samltestapp2.azurewebsites.net/Metadata",

Mengambil alih atau mengatur URL konsumen pernyataan (opsional)

Anda dapat mengonfigurasi URL balasan tempat Azure AD B2C mengirimkan respons SAML. URL balasan dapat dikonfigurasi dalam manifes aplikasi. Konfigurasi ini berguna saat aplikasi Anda tidak mengekspos titik akhir metadata yang dapat diakses umum.

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 AssertionConsumerService metadata aplikasi tidak ada, atau Anda ingin menimpanya, konfigurasikan properti replyUrlsWithType manifes pendaftaran aplikasi. Azure Active Directory B2C menggunakan replyUrlsWithType untuk mengalihkan pengguna setelah mereka masuk menggunakan jenis pengikatan HTTP-POST.

Dengan menggunakan aplikasi uji SAML sebagai contoh, Anda akan menetapkan properti url dari replyUrlsWithType ke nilai yang ditunjukkan dalam cuplikan JSON berikut:

"replyUrlsWithType":[
  {
    "url":"https://samltestapp2.azurewebsites.net/SP/AssertionConsumer",
    "type":"Web"
  }
],

Mengambil alih atau mengatur URL keluar (opsional)

URL keluar menentukan tempat untuk mengalihkan pengguna setelah permintaan keluar. Aplikasi biasanya menyediakan URL ini dalam dokumen metadata sebagai atribut Location dari elemen SingleLogoutService, seperti yang ditunjukkan pada 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 SingleLogoutService metadata aplikasi tidak ada, konfigurasikan properti logoutUrl manifes pendaftaran aplikasi. Azure Active Directory B2C menggunakan logoutURL untuk mengalihkan pengguna setelah mereka keluar menggunakan jenis pengikatan HTTP-Redirect.

Menggunakan aplikasi pengujian SAML sebagai contoh, Anda akan menyetel properti logoutUrl ke https://samltestapp2.azurewebsites.net/logout:

"logoutUrl": "https://samltestapp2.azurewebsites.net/logout",

Catatan

Jika Anda memilih untuk mengonfigurasi URL balasan dan URL keluar di manifes aplikasi tanpa mengisi titik akhir metadata aplikasi melalui properti samlMetadataUrl, Azure AD B2C tidak akan memvalidasi tanda tangan permintaan SAML. Azure AD B2C 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 statik atau metadata dinamis. Dalam mode statik, salin semua atau sebagian metadata dari metadata kebijakan Azure AD B2C. Dalam mode dinamis, berikan URL ke metadata dan izinkan aplikasi Anda untuk 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 issuer permintaan SAML tidak ada di elemen identifierUris, tambahkan ke manifes pendaftaran aplikasi. Sebagai contoh: https://contoso.onmicrosoft.com/app-name.

  • URL Masuk, titik akhir SAML, URL SAML: Periksa nilai dalam file metadata kebijakan SAML Azure AD B2C untuk elemen XML <SingleSignOnService>.

  • Sertifikat: Sertifikat ini adalah B2C_1A_SamlIdpCert, tetapi tanpa kunci privat. Untuk mendapatkan kunci umum sertifikat:

    1. Buka URL metadata yang ditentukan sebelumnya.
    2. Salin nilai dalam elemen <X509Certificate>.
    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 ditemukan di elemen identifierUris dalam manifes pendaftaran aplikasi. Misalnya, gunakan https://contoso.onmicrosoft.com/app-name.

Pilih Login, dan layar rincian masuk pengguna akan muncul. Setelah masuk, respons SAML akan diterbitkan kembali ke aplikasi contoh.

Modalitas SAML yang didukung dan tidak didukung

Skenario aplikasi SAML berikut didukung melalui titik akhir metadata Anda sendiri:

Langkah berikutnya