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

Screenshot of the Microsoft Entra Single Sign Out Workflow.

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ğeri ID 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 bir DateTime 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 LogoutRequestiş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 LogoutResponsegö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 IDLogoutResponse ve VersionIssueInstant 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.