SSO “Portal”

2

De acordo com minha pergunta sobre aliviando a explosão da senha , entrei em contato com alguns dos serviços para os quais estamos pagando para acessar seus sites para perguntar se poderíamos autenticar nossos próprios usuários, e alguns deles disseram que sim e me enviaram especificações sobre como fazer isso. (Um dos sites chamou esse sistema de uma página de "portal"; nunca ouvi o termo ser usado dessa maneira.)

É bastante simples que eu esteja tentado a rolar sozinho. A maior complicação é que um site nos quer armazenar uma chave para cada usuário em nosso banco de dados (e acho que o banco de dados LDAP faz sentido) após o seu login inicial. Então, não-trivial, mas factível.

A natureza desse tipo de tarefa, espero, é que, se começarem pequenas e simples, não terminarão assim. Deve haver algum software que lide com isso que é facilmente estendido, com certeza.

Na minha pesquisa, me deparei:

[Nossa, caramba. Eu perdi algumas das minhas pesquisas anteriores! A página da Wikipédia em Central Authentication Services é útil, e a seção em Alternativas para OpenID fazem parecer que há muitas opções de escolha.]

Alguém pode recomendar qualquer um desses, ou sugerir que você evite?

Internamente, estamos nos autenticando usando o Open Directory da Apple [== OpenLDAP + Kerberos + Password Server (que, acredito, == SAML)].

No que diz respeito à extensão / ajustes / configuração avançada de um sistema, eu sou capaz de programar em Python, C ++, posso fazer algum PHP básico, e posso lembrar de algum Java. Parece que eu preciso pegar Ruby em algum momento.

Adendo: também gostaria que os usuários pudessem alterar suas senhas pela Web (e para alguns usuários alterarem as senhas de outros usuários).

    
por Clinton Blackmore 12.06.2009 / 15:37

3 respostas

2

Minha impressão (baseada em uma recente conferência sobre cloud computing) é de três jogadores com o "buzz" e o suporte seria OpenID, SAML e Cartões informativos .

O OpenID é mais útil para os indivíduos, sendo um pouco mais fácil de usar / instalar / qualquer coisa, com alguns comprometimentos na segurança para tornar isso "mais fácil" acontecer.

SAML e cartões de informações são mais orientados para empresas com segurança strong.

Todos os três lidam com suas necessidades de gerenciamento de identidades, mas não acho que o OpenID esteja no SSO real como os outros dois, ou seja, se eu fizer login em um site usando o OpenID, ele não me conectará automaticamente ao outro. sites que eu autorizei.

O SAML é respaldado pelo Google e por seus amigos, por isso, se você usa o Google Apps, o Salesforce.com etc., é uma escolha fácil. Os cartões de informações são mais ou menos da Microsoft e (eu acho) usados pelo MSN Live.

Existem bibliotecas OpenID e SAML baseadas em Python, mas ainda não encontrei nenhuma para Cartões de Informações (bem, não estou realmente procurando:)

    
por 12.06.2009 / 19:52
0

O Shibboleth só é realmente aplicável para garantir o acesso a recursos disponíveis via HTTP. Ele também é projetado para lidar somente com uma web confiável de sites, ao contrário do OpenID, que é projetado para sites não confiáveis autenticarem. Eu sugiro que o OpenID seja significativamente mais simples do que o Shibboleth para implementar.

    
por 12.06.2009 / 17:45
0

Eu usei o Shibboleth e o SimpleSAML e trabalhei em extensões para ambos.

Em nosso escritório, usamos uma versão personalizada do SimpleSAML php para fornecer um IDP ao Google Apps. Assim, nossa equipe pode fazer login no Google Apps usando as mesmas credenciais que o LDAP do escritório local.

IMHO:

Shibboleth

  • muito poderoso em termos de recursos (se você puder descobrir como configurá-los).
  • demora um pouco para envolver a arquitetura e a configuração - tudo é um XML.
  • A documentação
  • requer um pouco mais de digitação para obter as informações.
  • IDP escrito em Java. SP é um módulo do Apache.

SimpleSAML

  • fácil de usar / configuração - você pode colocá-lo em prática seguindo sua documentação em minutos.
  • muito fácil de personalizar, por exemplo, muitos exemplos de módulos e documentação são fáceis de seguir.
  • tem recursos mais esotéricos, como o suporte do YubiKey.
  • SP / IDP escrito em PHP.

Em nossa configuração ideal, usaríamos um SP Shibboleth com um IDP SimpleSAML.

    
por 03.06.2012 / 07:26