Como o SSO geralmente faz parte de uma configuração de SAML, sugiro verificar o IdP. É o trabalho do IdP verificar se o cliente já está conectado e relatar a mesma sessão para outro SP.
Pode ser útil saber com que IdP e com qual perfil do SAML você está lidando, minha experiência é limitada ao perfil do WebSSO e ao Shibboleth como IdP e SP.
Ok, vou tentar elaborar um pouco sobre o perfil do WebSSO:
- Visitas do usuário SP
- O usuário é direcionado para a página do iniciador do SP (por exemplo, /Shibboleth.sso/Login)
- O usuário usa o Discovery Service (DS) para escolher o IdP desejado ou foi direcionado para a página do iniciador de login com um parâmetro de ajuste
- O usuário é redirecionado para o IdP para autenticação com a solicitação de autenticação SAML
- O IdP usa cookies para verificar se o usuário tem uma sessão, se estiver usando o fluxo de nome de usuário / senha.
- O IdP redireciona o usuário de volta ao SP com uma resposta SAML
- O SP verifica a resposta SAML e inicia seu próprio tratamento de sessão.
Encontre os documentos do Shibboleth sobre este aqui .