Ainda é recomendável o logon único com LDAP hoje para integrar várias ferramentas de código aberto?

8

Estamos liderando um exercício com uma instituição pública para instalar diferentes ferramentas de código aberto para que eles experimentem e vejam o que mais lhes convém.

Assim, estamos instalando:

  • um wiki (dokuwiki)
  • mediagoblin
  • gnu social
  • etherpad
  • ethercalc

e possivelmente um pouco mais.

Estávamos pensando em usar o LDAP para harmonizar os logins.

Mas muitas vezes parece que os plug-ins LDAP não são mais mantidos e a configuração é difícil de funcionar corretamente, algumas ferramentas têm documentos LDAP insuficientes.

Ainda é uma boa idéia hoje fazer isso via LDAP? OAuth é talvez uma escolha melhor?

Sei que essa não é uma questão de código, mas o que gostaríamos de entender é se devemos seguir nossa decisão de adotar LDAP ou se devemos considerar outros caminhos. Muito Obrigado

transient_loop
fonte

Respostas:

13

O LDAP não pode fornecer o Logon único. Há uma grande diferença entre poder usar os mesmos usuários e ter o Logon único, o que significa que você efetua login em todos os sistemas ao mesmo tempo, com um único formulário de logon. Caso contrário, o LDAP é perfeitamente viável para usar as mesmas informações de login em todos os sistemas.

OAuth é apenas um protocolo para fazer o Logon e pode usar LDAP como back-end para o gerenciamento de usuários.

Florin Asăvoaie
fonte
2
Na verdade, eu estava de alguma forma ciente dessa distinção, mas você a formulou de uma maneira muito clara e concisa, obrigado. Vou pesquisar no Google sobre o OAuth / LDAP como arquitetura de logon único, mas se você tiver links relevantes que gostaria de compartilhar, é muito apreciado.
Transient_loop
1

No mundo universitário, o sistema CAS Apereo [anteriormente Jasig] é uma maneira comum de fazer logon único para grandes suítes de aplicativos da web. Com o CAS, o usuário apenas insere sua senha no servidor de autenticação - aplicativos individuais validam um ticket único em vez de ver a senha do usuário. Essa é uma grande conquista de segurança ao lidar com aplicativos desenvolvidos por muitos grupos e fornecedores internos, pois nenhum dos aplicativos jamais tem acesso às senhas dos usuários.

Existem inúmeras bibliotecas de clientes CAS disponíveis para a maioria dos ambientes de programação, e o suporte interno ao CAS está se tornando mais comum para aplicativos usados ​​ou vendidos para universidades. Além do "Jasig CAS Server" principal, também existem vários servidores adicionais disponíveis, incluindo o Ruby CAS Server e um módulo para o Drupal que pode atuar como um servidor CAS para autenticar aplicativos adicionais no banco de dados do Drupal.

O próprio servidor Jasig CAS é escrito em Java e pode ser apoiado por qualquer número de manipuladores de autenticação , incluindo:

  • Base de dados
  • JAAS
  • LDAP
  • Legado
  • OAuth 1.0 / 2.0, OpenID
  • RAIO
  • SPNEGO (Windows)
  • Confiável (REMOTE_USER)
  • X.509 (certificado SSL do cliente)

O servidor Jasig CAS pode atuar como uma fonte de autenticação para aplicativos por meio de vários protocolos diferentes usados ​​para o Logon único:

  • Protocolo CAS 1/2/3
  • Protocolo SAML 1.1 / 2.0
  • Protocolo OAuth
  • Protocolo OpenId

Pode até ser usado como autenticação por trás de um provedor Shibboleth ou usar um cliente Shibboleth como back-end de autenticação.

Nota: a organização Jasig está se fundindo com a organização Apereo, portanto, alguns URLs podem mudar no futuro.

Adam Franco
fonte
por causa da divulgação completa - pode valer a pena mencionar que você está affliated com o projecto em questão
Journeyman Geek
Essa é uma nota justa. Sou afiliado ao projeto CAS como usuário e co-mantenedor da biblioteca do cliente PHP no sistema, phpCAS. Arquivei alguns relatórios de bugs e correções no projeto principal, mas não acredito que algum tenha sido realmente integrado ao projeto CAS.
Adam Franco