Protokol SSO SAML

MICROSOFT Entra ID mendukung profil akses menyeluruh browser web SAML 2.0. Agar akses menyeluruh berfungsi dengan benar, LogoutURL untuk aplikasi harus didaftarkan secara eksplisit dengan MICROSOFT Entra ID selama pendaftaran aplikasi.

Jika aplikasi ditambahkan ke Galeri Aplikasi Microsoft Azure, maka nilai ini dapat diatur secara default. Jika tidak, nilai harus ditentukan dan ditetapkan oleh orang yang menambahkan aplikasi ke penyewa Microsoft Entra mereka. MICROSOFT Entra ID menggunakan LogoutURL untuk mengalihkan pengguna setelah mereka keluar. MICROSOFT Entra ID mendukung pengikatan pengalihan (HTTP GET), dan bukan pengikatan HTTP POST.

Diagram berikut menunjukkan alur kerja proses akses menyeluruh Microsoft Entra.

Screenshot of the Microsoft Entra Single Sign Out Workflow.

LogoutRequest

Layanan awan mengirim LogoutRequest pesan ke ID Microsoft Entra untuk menunjukkan bahwa sesi telah dihentikan. Kutipan berikut berisi elemen LogoutRequest sampel.

<samlp:LogoutRequest xmlns="urn:oasis:names:tc:SAML:2.0:metadata" ID="idaa6ebe6839094fe4abc4ebd5281ec780" Version="2.0" IssueInstant="2013-03-28T07:10:49.6004822Z" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
  <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://www.workaad.com</Issuer>
  <NameID xmlns="urn:oasis:names:tc:SAML:2.0:assertion"> Uz2Pqz1X7pxe4XLWxV9KJQ+n59d573SepSAkuYKSde8=</NameID>
</samlp:LogoutRequest>

Elemen yang LogoutRequest dikirim ke MICROSOFT Entra ID memerlukan atribut berikut:

  • ID - Ini mengidentifikasi permintaan keluar. Nilai ID tidak boleh dimulai dengan angka. Praktik umumnya adalah menambahkan id ke representasi untai (karakter) GUID.
  • Version - Mengatur nilai elemen ini ke 2.0. Nilai ini diperlukan.
  • IssueInstant - Ini adalah string DateTime dengan nilai Waktu Universal Terkoordinasi (UTC) dan format pulang-pergi ("o"). ID Microsoft Entra mengharapkan nilai jenis ini, tetapi tidak memberlakukannya.

Menurut bagian 3.7 dari spesifikasi inti SAML 2.0, mungkin ada beberapa peserta (aplikasi lain) dalam sesi selain aplikasi Anda. Jika salah satu peserta lain mengirim LogoutRequest ke platform identitas Microsoft (otoritas sesi), itu akan mengirim LogoutRequest kembali ke semua peserta sesi kecuali peserta yang mengirim awal LogoutRequest. Jika peserta lain secara bersamaan memulai keluar, akan ada perlombaan untuk melihat mana yang LogoutRequest mencapai platform identitas Microsoft terlebih dahulu. Oleh karena itu, aplikasi harus selalu disiapkan untuk menangani LogoutRequest.

Penerbit

Elemen Issuer dalam LogoutRequest harus sama persis dengan salah satu ServicePrincipalNames di layanan cloud di ID Microsoft Entra. Umumnya, ini diatur ke URI ID Aplikasi yang ditentukan selama pendaftaran aplikasi.

NameID

Nilai elemen NameID harus sama persis dengan NameID pengguna yang sedang keluar.

Catatan

Selama permintaan keluar SAML, NameID nilai tidak dipertimbangkan oleh ID Microsoft Entra.
Jika satu sesi pengguna aktif, ID Microsoft Entra akan secara otomatis memilih sesi tersebut dan keluarNYA SAML akan dilanjutkan.
Jika beberapa sesi pengguna aktif, ID Microsoft Entra akan menghitung sesi aktif untuk pilihan pengguna. Setelah pemilihan pengguna, keluar SAML akan dilanjutkan.

LogoutResponse

MICROSOFT Entra ID mengirimkan LogoutResponse sebagai respons ke LogoutRequest elemen. Kutipan berikut berisi LogoutResponse sampel.

<samlp:LogoutResponse ID="_f0961a83-d071-4be5-a18c-9ae7b22987a4" Version="2.0" IssueInstant="2013-03-18T08:49:24.405Z" InResponseTo="iddce91f96e56747b5ace6d2e2aa9d4f8c" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
  <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/</Issuer>
  <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
  </samlp:Status>
</samlp:LogoutResponse>

MICROSOFT Entra ID mengatur IDnilai , Version dan IssueInstant dalam LogoutResponse elemen . Ini juga menetapkan elemen InResponseTo ke nilai atribut ID yang mengakibatkan respons LogoutRequest.

Penerbit

ID Microsoft Entra menetapkan nilai ini ke https://login.microsoftonline.com/<TenantIdGUID>/ tempat <TenantIdGUID> adalah ID penyewa penyewa Microsoft Entra.

Untuk mengidentifikasi elemen penerbit dengan benar, gunakan nilai https://login.microsoftonline.com/<TenantIdGUID>/ seperti yang ditunjukkan dalam sampel LogoutResponse. Format URL ini mengidentifikasi penyewa Microsoft Entra sebagai penerbit, mewakili otoritas yang bertanggung jawab untuk mengeluarkan respons.

Status

MICROSOFT Entra ID menggunakan StatusCode elemen dalam Status elemen untuk menunjukkan keberhasilan atau kegagalan keluar. Saat upaya keluar gagal, StatusCode elemen juga dapat berisi pesan kesalahan kustom.