SAML-protocol voor eenmalige afmelding

Microsoft Entra ID ondersteunt het profiel voor eenmalige afmelding van de SAML 2.0-webbrowser. Eenmalige afmelding werkt alleen correct als de afmelding voor de toepassing expliciet is geregistreerd bij Microsoft Entra ID tijdens de registratie van de toepassing.

Als de app wordt toegevoegd aan de Azure App-galerie, kan deze waarde standaard worden ingesteld. Anders moet de waarde worden bepaald en ingesteld door de persoon die de app toevoegt aan de Microsoft Entra-tenant. Microsoft Entra ID gebruikt de LogoutURL om gebruikers om te leiden nadat ze zijn afgemeld. Microsoft Entra ID ondersteunt omleidingsbinding (HTTP GET) en niet HTTP POST-binding.

In het volgende diagram ziet u de werkstroom van het eenmalige afmeldingsproces van Microsoft Entra.

Screenshot of the Microsoft Entra Single Sign Out Workflow.

LogoutRequest

De cloudservice verzendt een LogoutRequest bericht naar Microsoft Entra-id om aan te geven dat een sessie is beëindigd. In het volgende fragment ziet u een voorbeeldelement van 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>

Voor het LogoutRequest element dat naar de Microsoft Entra-id wordt verzonden, zijn de volgende kenmerken vereist:

  • ID: hiermee wordt de afmeldingsaanvraag geïdentificeerd. De waarde van ID mag niet beginnen met een getal. De gebruikelijke procedure is het toevoegen van id aan de tekenreeksweergave van een GUID.
  • Version: stel de waarde van dit element in op 2.0. Deze waarde is vereist.
  • IssueInstant: dit is een DateTime-tekenreeks met een UTC-waarde en retourindeling ('o'). Microsoft Entra ID verwacht een waarde van dit type, maar dwingt deze niet af.

Per sectie 3.7 van de SAML 2.0-kernspecificatie kunnen er meerdere deelnemers (andere toepassingen) zijn in een sessie naast uw toepassing. Als een van de andere deelnemers een LogoutRequest naar het Microsoft Identity Platform (de sessieautoriteit) verzendt, wordt er een LogoutRequest back-up verzonden naar alle sessiedeelnemers, met uitzondering van de deelnemer die de eerste LogoutRequestkeer heeft verzonden. Als een andere deelnemer gelijktijdig afmelding heeft geïnitieerd, zou er een race zijn om te zien welk LogoutRequest Microsoft Identity Platform het eerst bereikt. Daarom moet een toepassing altijd worden voorbereid om een LogoutRequest.

Verlener

Het Issuer element in een LogoutRequest moet exact overeenkomen met een van de ServicePrincipalNames in de cloudservice in Microsoft Entra ID. Dit is doorgaans ingesteld op de App-id-URI die is opgegeven tijdens de registratie van de toepassing.

NameID

De waarde van het NameID-element moet exact overeenkomen met de NameID van de gebruiker die wordt afgemeld.

Notitie

Tijdens de SAML-afmeldingsaanvraag wordt de NameID waarde niet meegenomen door De Microsoft Entra-id.
Als één gebruikerssessie actief is, selecteert Microsoft Entra ID die sessie automatisch en wordt de SAML-afmelding voortgezet.
Als meerdere gebruikerssessies actief zijn, inventariseert Microsoft Entra ID de actieve sessies voor gebruikersselectie. Nadat de gebruiker is geselecteerd, wordt de SAML-afmelding voortgezet.

LogoutResponse

Microsoft Entra-id verzendt een LogoutResponse antwoord op een LogoutRequest element. In het volgende fragment ziet u een voorbeeld van 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 stelt de IDen IssueInstantVersion waarden in het LogoutResponse element in. Het InResponseTo-element wordt ook ingesteld op de waarde van het kenmerk ID van de LogoutRequest die het antwoord heeft opgehaald.

Verlener

Microsoft Entra-id stelt deze waarde in op https://login.microsoftonline.com/<TenantIdGUID>/ de locatie waar <TenantIdGUID> de tenant-id van de Microsoft Entra-tenant is.

Als u het verlenerelement correct wilt identificeren, gebruikt u de waarde https://login.microsoftonline.com/<TenantIdGUID>/ zoals wordt weergegeven in het voorbeeld LogoutResponse. Deze URL-indeling identificeert de Microsoft Entra-tenant als de verlener, die de instantie vertegenwoordigt die verantwoordelijk is voor het uitgeven van het antwoord.

Status

Microsoft Entra ID gebruikt het StatusCode element in het Status element om aan te geven dat het afmelden is geslaagd of mislukt. Wanneer de afmelding mislukt, kan het StatusCode element ook aangepaste foutberichten bevatten.