Protokol SAML pro jednotné odhlašování
Microsoft Entra ID podporuje profil jednotného odhlášení webového prohlížeče SAML 2.0. Aby jednotné odhlášení fungovalo správně, musí být protokol LOGOUTURL aplikace při registraci aplikace explicitně zaregistrovaný u Microsoft Entra ID.
Pokud se aplikace přidá do galerie Aplikace Azure, můžete tuto hodnotu nastavit ve výchozím nastavení. Jinak musí být hodnota určena a nastavena osobou, která přidává aplikaci do tenanta Microsoft Entra. Microsoft Entra ID používá logoutURL k přesměrování uživatelů po odhlášení. Microsoft Entra ID podporuje vazbu přesměrování (HTTP GET) a ne vazbu HTTP POST.
Následující diagram znázorňuje pracovní postup procesu jednotného přihlašování Microsoft Entra.
LogoutRequest
Cloudová služba odešle LogoutRequest
do Microsoft Entra ID zprávu, která indikuje, že relace byla ukončena. Následující výňatek ukazuje ukázkový LogoutRequest
prvek.
<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>
Element LogoutRequest
odeslaný do Microsoft Entra ID vyžaduje následující atributy:
ID
- Tím se identifikuje žádost o odhlášení. HodnotaID
by neměla začínat číslem. Typickým postupem je připojení ID k řetězcové reprezentaci identifikátoru GUID.Version
- Nastavte hodnotu tohoto prvku na hodnotu 2,0. Tato hodnota je povinná.IssueInstant
- Jedná se oDateTime
řetězec s hodnotou souřadnicového univerzálního času (UTC) a formátem odezvy ("o"). ID Microsoft Entra očekává hodnotu tohoto typu, ale nevynucuje ji.
V bodě 3.7 základní specifikace SAML 2.0 může být v relaci kromě vaší aplikace více účastníků (jiných aplikací). Pokud některý z ostatních účastníků pošle LogoutRequest
platformě Microsoft Identity Platform (autoritu relace), odešle LogoutRequest
zpět všem účastníkům relace s výjimkou účastníka, který odeslal počáteční LogoutRequest
. Pokud se odhlásí jiný účastník současně, bude existovat závod, který LogoutRequest
nejprve dosáhne platformy Microsoft Identity Platform. Proto by aplikace měla být vždy připravena na zpracování LogoutRequest
.
Issuer
Prvek Issuer
v objektu LogoutRequest
musí přesně odpovídat jedné z servicePrincipalNames v cloudové službě v Microsoft Entra ID. Obvykle se nastaví na identifikátor URI ID aplikace, který je zadaný během registrace aplikace.
NameID
Hodnota elementu NameID
se musí přesně shodovat NameID
s odhlášenou uživatelem.
Poznámka:
Během požadavku NameID
na odhlášení SAML se hodnota nepovažuje za ID Microsoft Entra.
Pokud je aktivní jedna uživatelská relace, microsoft Entra ID automaticky vybere tuto relaci a protokol SAML bude pokračovat.
Pokud je aktivních více uživatelských relací, vyčíslí id Microsoft Entra aktivní relace pro výběr uživatele. Po výběru uživatele bude pokračovat odhlášení SAML.
LogoutResponse
Microsoft Entra ID odešle LogoutResponse
v reakci na LogoutRequest
prvek. Následující výňatek ukazuje ukázku LogoutResponse
.
<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 nastaví ID
Version
a IssueInstant
hodnoty v elementuLogoutResponse
. Také nastaví InResponseTo
prvek na hodnotu ID
atributu LogoutRequest
, který vyvolal odpověď.
Issuer
ID Microsoft Entra nastaví tuto hodnotu na místo, kde https://login.microsoftonline.com/<TenantIdGUID>/
<TenantIdGUID> je ID tenanta Microsoft Entra.
Chcete-li správně identifikovat prvek vystavitele, použijte hodnotu https://login.microsoftonline.com/<TenantIdGUID>/
, jak je znázorněno v ukázkové LogoutResponse. Tento formát adresy URL identifikuje tenanta Microsoft Entra jako vystavitele, který představuje autoritu odpovědnou za vystavení odpovědi.
Stav
Microsoft Entra ID používá StatusCode
prvek v elementu Status
k označení úspěchu nebo selhání odhlášení. Když se pokus o odhlášení nezdaří, StatusCode
může element obsahovat také vlastní chybové zprávy.