Compartilhar via


Protocolo SAML de Logout Único

A ID do Microsoft Entra dá suporte ao perfil de logon único do navegador DA WEB SAML 2.0. Para que a saída única funcione corretamente, o LogoutURL do aplicativo deve ser explicitamente registrado com a ID do Microsoft Entra durante o registro do aplicativo.

Se o aplicativo for adicionado à Galeria de Aplicativos do Azure , esse valor poderá ser definido por padrão. Caso contrário, o valor deve ser determinado e definido pela pessoa que está adicionando o aplicativo ao locatário do Microsoft Entra. A ID do Microsoft Entra usa o LogoutURL para redirecionar os usuários após a saída. A ID do Microsoft Entra dá suporte à associação de redirecionamento (HTTP GET) e não à associação HTTP POST.

O diagrama a seguir mostra o fluxo de trabalho do processo de saída única do Microsoft Entra.

Captura de tela do fluxo de trabalho de saída única do Microsoft Entra.

LogoutRequest

O serviço de nuvem envia uma LogoutRequest mensagem à ID do Microsoft Entra para indicar que uma sessão foi encerrada. O trecho a seguir mostra um elemento de exemplo 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>

O LogoutRequest elemento enviado à ID do Microsoft Entra requer os seguintes atributos:

  • ID - Isso identifica a solicitação de saída. O valor de ID não deve começar com um número. A prática típica é acrescentar a ID à representação de cadeia de caracteres de um GUID.
  • Version - Defina o valor desse elemento como 2.0. Esse valor é necessário.
  • IssueInstant - Essa é uma DateTime cadeia de caracteres com um valor UTC (Coordinate Universal Time) e um formato de viagem de ida e volta ("o"). A ID do Microsoft Entra espera um valor desse tipo, mas não o impõe.

Por seção 3.7 da especificação principal do SAML 2.0, pode haver vários participantes (outros aplicativos) em uma sessão além do aplicativo. Se um dos outros participantes enviar um LogoutRequest para a plataforma de identidade da Microsoft (a autoridade de sessão), ele enviará um LogoutRequest back para todos os participantes da sessão, exceto o participante que enviou a inicial LogoutRequest. Se outro participante iniciasse simultaneamente a saída, haveria uma corrida para ver o que LogoutRequest atinge primeiro a plataforma de identidade da Microsoft. Portanto, um aplicativo deve estar sempre preparado para lidar com um LogoutRequest.

Emissor

O Issuer elemento em um LogoutRequest deve corresponder exatamente a um dos ServicePrincipalNames no serviço de nuvem na ID do Microsoft Entra. Normalmente, isso é definido como o URI da ID do aplicativo especificado durante o registro do aplicativo.

NameID

O valor do NameID elemento deve corresponder exatamente ao NameID do usuário que está sendo desconselhado.

Observação

Durante a solicitação de logoff saml, o NameID valor não é considerado pela ID do Microsoft Entra.
Se uma única sessão de usuário estiver ativa, a ID do Microsoft Entra selecionará automaticamente essa sessão e o logoff saml continuará.
Se várias sessões de usuário estiverem ativas, a ID do Microsoft Entra enumerará as sessões ativas para seleção de usuário. Após a seleção do usuário, o logoff saml continuará.

LogoutResponse

A ID do Microsoft Entra envia uma LogoutResponse resposta a um LogoutRequest elemento. O trecho a seguir mostra um exemplo 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>

A ID do Microsoft Entra define os valores ID, Version e IssueInstant no elemento LogoutResponse. Ele também define o InResponseTo elemento como o valor do ID atributo do LogoutRequest que provocou a resposta.

Emissor

A ID do Microsoft Entra define esse valor para https://login.microsoftonline.com/<TenantIdGUID>/ onde <TenantIdGUID> é a ID do locatário do Microsoft Entra.

Para identificar corretamente o elemento emissor, use o valor https://login.microsoftonline.com/<TenantIdGUID>/ , conforme mostrado no exemplo LogoutResponse. Esse formato de URL identifica o locatário do Microsoft Entra como o emissor, representando a autoridade responsável pela emissão da resposta.

Situação

A ID do Microsoft Entra usa o StatusCode elemento no Status elemento para indicar o êxito ou a falha da saída. Quando a tentativa de saída falha, o StatusCode elemento também pode conter mensagens de erro personalizadas.