SSO em webpages
-
01-07-2019 - |
Pergunta
Eu gostaria de saber qual é a melhor técnica para fazer o single sign-on na web sites. Isso significa que se você entrar em mais de um site, você será autenticado de uma forma "transparente". Eu estou usando PHP + curl para definir os cookies para os sites diferentes, mas eu realmente gostaria de saber se realmente existe uma maneira padrão de fazê-lo.
Solução
Para uma forma segura padrão que você precisa:
- um servidor de autenticação
- um filtro de autenticação em cada site que necessidade SSO
O mecanismo é um pouco complexo pouco, envolve http redirecionamentos e bilhetes de autenticação segura. Você vai encontrar explicação detailled na CAS website (um servidor SSO java popular). < br> Eu recomendo a ler esta página " CAS Java Client Gateway exemplo ", especialmente o diagrama de sequência na parte inferior da página.
Outras dicas
Você também pode dar uma olhada em OpenId. Este é o mesmo mecanismo usado para entrar em stackoverflow e apresenta um "global" single sign-on.
Eu acredito que há bibliotecas PHP disponíveis para integrar com ele.
Você também pode dar uma olhada esta questão .
A melhor maneira é usar tags de imagem que puxam um fluxo de imagem de seus sites externos.
Então, se você está em www.some-site.com e você quer também ser assinado em www.some-partner-site.com você tem esse exibida após o login:
Porque você está usando uma imagem que força o navegador a "puxando" o conteúdo dessa URL.
Eu construí recentemente uma solução que faz isso com ASP.NET, mas também temos um site parceiro baseado em PHP.
Que imagem exibida é irrelivant, realmente você não deve exibir qualquer imagem em tudo (daí o tamanho 1x1)