Protocollo SAML per Single Sign-OutSingle Sign-Out SAML Protocol

Azure Active Directory (Azure AD) supporta il profilo di Single Sign-Out per Web browser SAML 2.0.Azure Active Directory (Azure AD) supports the SAML 2.0 web browser single sign-out profile. Perché la disconnessione Single Sign-Out funzioni correttamente il LogoutURL per l'applicazione deve essere registrato in modo esplicito con Azure AD durante la registrazione dell'applicazione.For single sign-out to work correctly, the LogoutURL for the application must be explicitly registered with Azure AD during application registration. Azure AD usa LogoutURL per reindirizzare gli utenti dopo che si sono disconnessi.Azure AD uses the LogoutURL to redirect users after they are signed out.

Questo diagramma descrive il flusso di lavoro del processo Single Sign-Out di Azure AD.This diagram shows the workflow of the Azure AD single sign-out process.

Flusso di lavoro di Single Sign-Out

LogoutRequestLogoutRequest

Il servizio cloud invia un messaggio LogoutRequest ad Azure AD per indicare che è stata terminata una sessione.The cloud service sends a LogoutRequest message to Azure AD to indicate that a session has been terminated. L'estratto seguente contiene un esempio di elemento LogoutRequest .The following excerpt shows a sample LogoutRequest element.

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

LogoutRequestLogoutRequest

L'elemento LogoutRequest inviato ad Azure AD richiede gli attributi seguenti:The LogoutRequest element sent to Azure AD requires the following attributes:

  • ID : identifica la richiesta di disconnessione.ID : This identifies the sign-out request. Il valore di ID non deve iniziare con un numero.The value of ID should not begin with a number. La procedura tipica consiste nell'aggiungere id alla rappresentazione di stringa di un GUID.The typical practice is to append id to the string representation of a GUID.
  • Version : impostare il valore di questo elemento su 2.0.Version : Set the value of this element to 2.0. Questo valore è obbligatorio.This value is required.
  • IssueInstant : è una stringa DateTime con un valore di UTC (Coordinate Universal Time) e il formato round trip ("o").IssueInstant : This is a DateTime string with a Coordinate Universal Time (UTC) value and round-trip format ("o"). Azure AD prevede un valore di questo tipo, ma non lo impone.Azure AD expects a value of this type, but does not enforce it.

IssuerIssuer

L'elemento Issuer in una LogoutRequest deve corrispondere esattamente a uno dei ServicePrincipalNames nel servizio cloud in Azure AD.The Issuer element in a LogoutRequest must exactly match one of the ServicePrincipalNames in the cloud service in Azure AD. Viene in genere impostato sull' URI ID app specificato durante la registrazione dell'applicazione.Typically, this is set to the App ID URI that is specified during application registration.

NameIDNameID

Il valore dell'elemento NameID deve corrispondere esattamente al NameID dell'utente che viene disconnesso.The value of the NameID element must exactly match the NameID of the user that is being signed out.

LogoutResponseLogoutResponse

Azure AD invia un elemento LogoutResponse in risposta a un elemento LogoutRequest.Azure AD sends a LogoutResponse in response to a LogoutRequest element. L'estratto seguente contiene un esempio di elemento LogoutResponse.The following excerpt shows a sample 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://sts.windows.net/82869000-6ad1-48f0-8171-272ed18796e9/</Issuer>
  <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
  </samlp:Status>
</samlp:LogoutResponse>

LogoutResponseLogoutResponse

Azure AD imposta i valori ID, Version e IssueInstant nell'elemento LogoutResponse.Azure AD sets the ID, Version and IssueInstant values in the LogoutResponse element. Imposta anche l'elemento InResponseTo sul valore dell'attributo ID dell'elemento LogoutRequest che ha provocato la risposta.It also sets the InResponseTo element to the value of the ID attribute of the LogoutRequest that elicited the response.

IssuerIssuer

Azure AD imposta questo valore su https://login.microsoftonline.com/<TenantIdGUID>/, dove è l'ID del tenant di Azure AD.Azure AD sets this value to https://login.microsoftonline.com/<TenantIdGUID>/ where is the tenant ID of the Azure AD tenant.

Per valutare il valore dell'elemento Issuer usare il valore dell' URI ID app specificato durante la registrazione dell'applicazione.To evaluate the value of the Issuer element, use the value of the App ID URI provided during application registration.

StatoStatus

Azure AD usa l'elemento StatusCode nell'elemento Status per indicare l'esito positivo o negativo della disconnessione. Quando il tentativo di disconnessione non riesce, l'elemento StatusCode può anche contenere messaggi di errore personalizzati.Azure AD uses the StatusCode element in the Status element to indicate the success or failure of sign-out. When the sign-out attempt fails, the StatusCode element can also contain custom error messages.