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.
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. NilaiID
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 stringDateTime
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 ID
nilai , 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.