Çoklu Oturum Kapatma SAML Protokolü
Microsoft Entra ID, SAML 2.0 web tarayıcısı çoklu oturum kapatma profilini destekler. Çoklu oturum kapatmanın düzgün çalışması için, uygulama kaydı sırasında uygulamanın LogoutURL'sinin Microsoft Entra Id'ye açıkça kaydedilmesi gerekir.
Uygulama Azure Uygulaması Galerisi'ne eklenirse bu değer varsayılan olarak ayarlanabilir. Aksi takdirde değer, uygulamayı Microsoft Entra kiracısına ekleyen kişi tarafından belirlenmeli ve ayarlanmalıdır. Microsoft Entra Id, oturumu kapatan kullanıcıları yeniden yönlendirmek için LogoutURL'yi kullanır. Microsoft Entra ID, HTTP POST bağlamayı değil yeniden yönlendirme bağlamayı (HTTP GET) destekler.
Aşağıdaki diyagramda Microsoft Entra çoklu oturum kapatma işleminin iş akışı gösterilmektedir.
LogoutRequest
Bulut hizmeti, bir oturumun sonlandırıldığını belirtmek için Microsoft Entra Id'ye bir LogoutRequest
ileti gönderir. Aşağıdaki alıntıda örnek LogoutRequest
bir öğe gösterilmektedir.
<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>
LogoutRequest
Microsoft Entra Id'ye gönderilen öğe aşağıdaki öznitelikleri gerektirir:
ID
- Bu, oturum kapatma isteğini tanımlar. değeriID
bir sayı ile başlamamalıdır. Tipik uygulama, GUID'nin dize gösterimine kimlik eklemektir.Version
- Bu öğenin değerini 2,0 olarak ayarlayın. Bu değer gereklidir.IssueInstant
- Bu, Eşgüdümlü Evrensel Saat (UTC) değerine ve gidiş dönüş biçimine ("o") sahip birDateTime
dizedir. Microsoft Entra Id bu tür bir değer bekler, ancak zorunlu kılmaz.
SAML 2.0 çekirdek belirtiminin 3.7. bölümüne göre, bir oturumda uygulamanızın yanı sıra birden çok katılımcı (diğer uygulamalar) olabilir. Diğer katılımcılardan biri Microsoft kimlik platformu (oturum yetkilisi) bir gönderirseLogoutRequest
, ilk LogoutRequest
öğesini gönderen katılımcı dışında tüm oturum katılımcılarına bir geri gönderirLogoutRequest
. Aynı anda başka bir katılımcı oturumu kapatmayı başlattıysa, önce Microsoft kimlik platformu ulaşan bir yarış LogoutRequest
olacaktır. Bu nedenle, bir uygulama her zaman bir LogoutRequest
işlemek için hazır olmalıdır.
Sertifikayı veren
Issuer
içindeki LogoutRequest
öğesi, Microsoft Entra Id'deki bulut hizmetindeki ServicePrincipalNames'lerden biriyle tam olarak eşleşmelidir. Bu genellikle uygulama kaydı sırasında belirtilen Uygulama Kimliği URI'sine ayarlanır.
Ad Kimliği
öğesinin NameID
değeri, oturumu kapatılan kullanıcının değeriyle tam olarak eşleşmelidir NameID
.
Not
SAML oturumu kapatma isteği sırasında değer Microsoft NameID
Entra Id tarafından dikkate alınmaz.
Tek bir kullanıcı oturumu etkinse, Microsoft Entra Id otomatik olarak bu oturumu seçer ve SAML oturumu kapatılır.
Birden çok kullanıcı oturumu etkinse, Microsoft Entra Id kullanıcı seçimi için etkin oturumları numaralandırır. Kullanıcı seçiminden sonra SAML oturumu kapatılır.
LogoutResponse
Microsoft Entra Id, bir LogoutResponse
öğeye yanıt olarak bir LogoutRequest
gönderir. Aşağıdaki alıntıda bir örneği LogoutResponse
gösterilmektedir.
<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 öğesindeki ID
LogoutResponse
ve Version
IssueInstant
değerlerini ayarlar. Ayrıca, öğesini yanıtı gösteren özniteliğinin LogoutRequest
değerine ID
ayarlarInResponseTo
.
Sertifikayı veren
Microsoft Entra Kimliği bu değeri https://login.microsoftonline.com/<TenantIdGUID>/
TenantIdGUID'nin> Microsoft Entra kiracısının kiracı kimliği olduğu yere <ayarlar.
Veren öğesini doğru şekilde tanımlamak için örnek LogoutResponse içinde gösterildiği gibi değerini https://login.microsoftonline.com/<TenantIdGUID>/
kullanın. Bu URL biçimi, Microsoft Entra kiracısını veren olarak tanımlar ve yanıtın verilmesinden sorumlu yetkiliyi temsil eder.
Durum
Microsoft Entra Id, oturumu kapatma işleminin StatusCode
başarısını veya başarısızlığını belirtmek için öğesindeki Status
öğesini kullanır. Oturum kapatma girişimi başarısız olduğunda, StatusCode
öğesi özel hata iletileri de içerebilir.