O Single logout (SLO) permite que uma aplicação inicie um logout global. Quando um usuário entra em uma aplicação usando o single sign-on (SSO) do IDaaS, a aplicação pode iniciar uma solicitação de logout que também encerra a sessão de login principal do usuário no IDaaS. O IDaaS implementa esse processo com base no padrão OIDC SLO. Atualmente, esse recurso está disponível apenas para aplicações desenvolvidas internamente e aplicações baseadas em OIDC.
O SLO é um mecanismo de gerenciamento de sessões para federação de identidade. Para fazer com que sua aplicação ignore a sessão de login principal e exija autenticação em cada tentativa de acesso, use o parâmetro prompt no endpoint de autorização.
Chamar o endpoint de SLO
Para iniciar um logout, primeiro encerre a sessão do usuário na sua aplicação e depois redirecione-o para o endpoint de logout da aplicação fornecido pelo IDaaS.
Um administrador encontra o endpoint de logout na seção Application Settings, na aba Application Details > Sign-In > Single Sign-on.
A URL do endpoint de logout segue o formato https://{instance domain name}.aliyunidaas.com/login/app/{application ID}/oauth2/logout e desconecta o usuário da sessão de login principal do IDaaS.
Ao redirecionar um usuário para esse endpoint, você inicia uma solicitação de SLO. Como o IDaaS não consegue verificar a origem da solicitação nesta etapa, ele solicita que o usuário confirme a ação de logout.
É possível pular essa etapa de confirmação manual. Para mais informações, consulte as seções a seguir.
Se existir uma sessão de login ativa no IDaaS, o sistema pedirá que o usuário confirme a ação clicando em Log Out.
Caso o usuário confirme a ação ou não haja uma sessão de login ativa no IDaaS, o sistema exibirá a mensagem Logged out.
Redirecionamento automático após o logout
Para redirecionar os usuários à sua aplicação após o logout, em vez de mostrar a página "Logged out" do IDaaS, configure uma URL de callback de logout. Especifique essa URL por meio do parâmetro post_logout_redirect_uri.
O administrador deve acessar Applications > Gerencie > Sign-on > Single Sign-on, localizar a configuração Logout Redirect URIs e insira a URL completa de callback da aplicação.
O campo Logout Redirect URIs funciona como uma lista de permissões, permitindo adicionar até cinco URLs. Ao iniciar um logout, o valor de post_logout_redirect_uri enviado ao endpoint de SLO deve constar nessa lista de permissões.
A configuração de Logout Callback URLs encontra-se na seção Advanced Settings. Na página de configuração do Single Sign-on, clique em Show Advanced Settings para expandir a seção antes de localizar e definir essa opção.
Após salvar a configuração, passe o parâmetro post_logout_redirect_uri para o endpoint de SLO a fim de ative o redirecionamento pós-logout.
Logout automático
Para garantir uma experiência de usuário fluida, ignore a etapa de confirmação manual para desconectar o usuário e redirecioná-lo automaticamente. Para ativar isso, configure as URLs de callback de logout conforme descrito anteriormente e envie um parâmetro adicional ao endpoint de SLO: id_token_hint.
O endpoint de logout SLO aceita os seguintes parâmetros:
|
Parameter |
Required |
Description |
|
id_token_hint |
No |
Necessário para ative o logout automático. Este parâmetro valida a legitimidade da solicitação. Envie o Nota
Se a claim Trata-se de uma medida de segurança definida na especificação OIDC para evitar ataques maliciosos de logout. |
|
post_logout_redirect_uri |
No |
Obrigatório para ative o redirecionamento automático após o logout. URL de callback HTTPS para onde o IDaaS redireciona o usuário após a conclusão do SLO. Essa URL deve estar configurada nas definições da aplicação no IDaaS. |
|
state |
No |
String aleatória. Se o redirecionamento automático estiver configurado, o IDaaS retorna esse valor à aplicação como parâmetro de callback. Utilizado para validação de segurança. |
O exemplo abaixo ilustra uma solicitação ao endpoint de SLO:
GET https://example.aliyunidaas.com/login/app/<application_id>/oauth2/logout
?id_token_hint=${id_token}
&post_logout_redirect_uri=${post_logout_redirect_uri}
&state=${state}
Fluxo de trabalho do SLO

Atualmente, o recurso SLO no IDaaS apresenta as seguintes limitações:
Apenas o SLO OIDC foi implementado. O suporte a SLO SAML ainda não está disponível.
Somente o SLO iniciado pelo SP (Service Provider) é suportado. Outros modos de SLO OIDC ainda não são aceitos.
Apenas a sessão de login principal do IDaaS é encerrada. Outras aplicações onde o usuário esteja conectado não são afetadas, ou seja, o SLO global não foi implementado.