Egyszeri kijelentkezéses SAML-protokoll
A Microsoft Entra ID támogatja az SAML 2.0 böngésző egyszeri bejelentkezési profilját. Ahhoz, hogy az egyszeri kijelentkezés megfelelően működjön, az alkalmazáshoz tartozó LogoutURL-t kifejezetten regisztrálni kell a Microsoft Entra-azonosítóval az alkalmazásregisztráció során.
Ha az alkalmazás hozzá van adva a Azure-alkalmazás katalógushoz, akkor ez az érték alapértelmezés szerint beállítható. Ellenkező esetben az értéket annak a személynek kell meghatároznia és beállítania, aki hozzáadja az alkalmazást a Microsoft Entra-bérlőhöz. A Microsoft Entra ID a LogoutURL használatával irányítja át a felhasználókat a kijelentkezés után. A Microsoft Entra ID az átirányítási kötést (HTTP GET) támogatja, a HTTP POST kötést nem.
Az alábbi ábra a Microsoft Entra egyszeri kijelentkezés folyamatának munkafolyamatát mutatja be.
LogoutRequest
A felhőszolgáltatás üzenetet LogoutRequest
küld a Microsoft Entra-azonosítónak, amely jelzi, hogy egy munkamenet leállt. Az alábbi részlet egy mintaelemet LogoutRequest
mutat be.
<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>
A LogoutRequest
Microsoft Entra ID-nak küldött elemhez a következő attribútumok szükségesek:
ID
- Ez azonosítja a bejelentkezési kérést. A számID
értéke nem kezdődhet számmal. A szokásos eljárás az azonosító hozzáfűzése a GUID sztring-ábrázolásához.Version
- Állítsa az elem értékét 2,0-ra. Kötelezően megadandó érték.IssueInstant
- Ez egy olyan sztringDateTime
, amelynek a koordinátája univerzális idő (UTC) és oda-vissza formátum ("o"). A Microsoft Entra ID ilyen típusú értéket vár, de nem kényszeríti ki.
Az SAML 2.0 alapspecifikációjának 3.7-es szakaszában az alkalmazáson kívül több résztvevő is lehet (más alkalmazások). Ha a többi résztvevő egyike küld egy LogoutRequest
üzenetet a Microsoft Identitásplatform (a munkamenet-szolgáltatónak), a rendszer visszaküldi LogoutRequest
az összes munkamenet-résztvevőnek, kivéve azt a résztvevőt, aki az elsőt LogoutRequest
küldte. Ha egy másik résztvevő egyidejűleg kezdeményezte a kijelentkezéseket, akkor egy verseny lenne, amely LogoutRequest
először Microsoft Identitásplatform ér el. Ezért az alkalmazásnak mindig fel kell készülnie a LogoutRequest
.
Issuer
Egy Issuer
adott elemnek LogoutRequest
pontosan meg kell egyeznie a Microsoft Entra ID felhőszolgáltatás egyik ServicePrincipalNames elemével. Ez általában az alkalmazásregisztráció során megadott alkalmazásazonosító URI-ra van állítva.
NévAZONOSÍTÓ
Az elem értékének NameID
pontosan meg kell egyeznie a NameID
kijelentkezni kívánt felhasználó értékével.
Feljegyzés
Az SAML-kijelentkeztetés kérése során a Microsoft Entra ID nem veszi figyelembe az NameID
értéket.
Ha egyetlen felhasználói munkamenet aktív, a Microsoft Entra-azonosító automatikusan kiválasztja a munkamenetet, és az SAML-kijelentkezés folytatódik.
Ha több felhasználói munkamenet aktív, a Microsoft Entra-azonosító számba veszi az aktív munkameneteket a felhasználók kiválasztásához. A felhasználó kiválasztása után az SAML-kijelentkezés folytatódik.
LogoutResponse
A Microsoft Entra ID válaszként küld egy LogoutResponse
LogoutRequest
elemet. Az alábbi részlet egy mintát LogoutResponse
mutat be.
<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>
A Microsoft Entra ID beállítja az ID
elem értékeit Version
és IssueInstant
értékeit LogoutResponse
. Emellett az InResponseTo
elemet annak az attribútumnak az ID
értékére LogoutRequest
állítja, amely kiváltotta a választ.
Issuer
A Microsoft Entra ID azt az értéket állítja be, https://login.microsoftonline.com/<TenantIdGUID>/
ahol <a TenantIdGUID> a Microsoft Entra-bérlő bérlőazonosítója.
A kiállító elem helyes azonosításához használja az értéket https://login.microsoftonline.com/<TenantIdGUID>/
a LogoutResponse mintában látható módon. Ez az URL-formátum a Microsoft Entra-bérlőt azonosítja kiállítóként, amely a válasz kiadásáért felelős hatóságot képviseli.
Állapot
A Microsoft Entra ID az StatusCode
elem elemével Status
jelzi a kijelentkezés sikerességét vagy sikertelenségét. Ha a kijelentkezés sikertelen, az StatusCode
elem egyéni hibaüzeneteket is tartalmazhat.