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.

Foi útil?

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)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top