Freigeben über


SAML-Protokoll für einmaliges Abmelden

Microsoft Entra-ID unterstützt das SAML 2.0-Webbrowser-Profil für einmaliges Abmelden. Damit die einmalige Abmeldung ordnungsgemäß funktioniert, muss die LogoutURL für die Anwendung während der Anwendungsregistrierung explizit mit der Microsoft Entra-ID registriert werden.

Wenn die App dem Azure App-Katalog hinzugefügt wird, kann dieser Wert standardmäßig festgelegt werden. Andernfalls muss der Wert durch die Person bestimmt und festgelegt werden, die die App zu ihrem Microsoft Entra-Mandanten hinzufügt. Die Microsoft Entra-ID verwendet logoutURL , um Benutzer umzuleiten, nachdem sie abgemeldet wurden. Microsoft Entra-ID unterstützt Umleitungsbindung (HTTP GET) und keine HTTP POST-Bindung.

Das folgende Diagramm zeigt den Workflow des Einmaligen Abmeldevorgangs von Microsoft Entra.

Screenshot des Microsoft Entra Single Sign Out-Workflows.

LogoutRequest

Der Clouddienst sendet eine LogoutRequest Nachricht an die Microsoft Entra-ID, um anzugeben, dass eine Sitzung beendet wurde. Der folgende Auszug zeigt ein Beispielelement LogoutRequest .

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

Das LogoutRequest an Microsoft Entra-ID gesendete Element erfordert die folgenden Attribute:

  • ID – Gibt die Abmeldeanforderung an. Der Wert sollte ID nicht mit einer Zahl beginnen. Die typische Vorgehensweise besteht darin, die ID an die Zeichenfolgendarstellung einer GUID anzufügen.
  • Version - Legen Sie den Wert dieses Elements auf 2,0 fest. Dieser Wert ist erforderlich.
  • IssueInstant- Dies ist eine DateTime Zeichenfolge mit einem UTC-Wert (Coordinate Universal Time) und einem Roundtripformat ("o"). Die Microsoft Entra-ID erwartet einen Wert dieses Typs, erzwingt ihn jedoch nicht.

Pro Abschnitt 3.7 der SAML 2.0-Kernspezifikation können neben Ihrer Anwendung mehrere Teilnehmer (andere Anwendungen) in einer Sitzung vorhanden sein. Wenn einer der anderen Teilnehmer eine LogoutRequest an die Microsoft Identity Platform (die Sitzungsautorität) sendet, sendet er eine LogoutRequest Rücksendenachricht an alle Sitzungsteilnehmer, mit Ausnahme des Teilnehmers, der die erste LogoutRequestGesendet hat. Wenn ein anderer Teilnehmer gleichzeitig eine Abmeldung initiiert hat, gibt es ein Rennen, um zu sehen, welches LogoutRequest die Microsoft Identity Platform zuerst erreicht. Daher sollte eine Anwendung immer darauf vorbereitet sein, eine LogoutRequest.

Emittent

Das Issuer Element in einem LogoutRequest Muss genau mit einem der ServicePrincipalNames im Clouddienst in Microsoft Entra ID übereinstimmen. In der Regel wird dies auf den App-ID-URI festgelegt, der während der Anwendungsregistrierung angegeben wird.

NameID

Der Wert des NameID Elements muss exakt mit dem NameID Benutzer übereinstimmen, der abgemeldet wird.

Hinweis

Während der SAML-Abmeldeanforderung wird der NameID Wert nicht von der Microsoft Entra-ID berücksichtigt.
Wenn eine einzelne Benutzersitzung aktiv ist, wählt Die Microsoft Entra-ID diese Sitzung automatisch aus, und die SAML-Abmeldung wird fortgesetzt.
Wenn mehrere Benutzersitzungen aktiv sind, wird die Microsoft Entra-ID die aktiven Sitzungen für die Benutzerauswahl aufzählen. Nach der Benutzerauswahl wird die SAML-Abmeldung fortgesetzt.

LogoutResponse

Die Microsoft Entra-ID sendet eine LogoutResponse Antwort auf ein LogoutRequest Element. Der folgende Auszug zeigt ein Beispiel 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>

Die Microsoft Entra-ID legt die Werte ID, Version und IssueInstant im LogoutResponse-Element fest. Außerdem wird das InResponseTo Element auf den Wert des ID Attributs der LogoutRequest Antwort festgelegt.

Emittent

Microsoft Entra ID legt diesen Wert auf https://login.microsoftonline.com/<TenantIdGUID>/ den Ort fest, an dem <TenantIdGUID> die Mandanten-ID des Microsoft Entra-Mandanten ist.

Um das Ausstellerelement korrekt zu identifizieren, verwenden Sie den Wert https://login.microsoftonline.com/<TenantIdGUID>/ wie im Beispiel LogoutResponse dargestellt. Dieses URL-Format identifiziert den Microsoft Entra-Mandanten als Aussteller, der die für die Ausgabe der Antwort zuständige Behörde darstellt.

Der Status

Die Microsoft Entra-ID verwendet das StatusCode Element im Status Element, um den Erfolg oder Fehler der Abmeldung anzugeben. Wenn der Abmeldeversuch fehlschlägt, kann das StatusCode Element auch benutzerdefinierte Fehlermeldungen enthalten.