SSO“门户”

根据我在缓解密码爆炸方面的问题 ,我已经联系了一些我们付钱去访问他们的网站的服务,询问我们是否可以validation我们自己的用户,其中一些人说是的,并发送给我关于如何这样做。 (其中一个网站把这个系统称为“门户网站”,我从来没有听说过这个用法。)

很简单,我很想自己动手。 最大的难题是一个站点希望我们在初次login后为我们数据库中的每个用户存储一个密钥(我认为LDAP数据库是有意义的)。 所以,不平凡,但可行。

我期望这些任务的性质是,如果他们从小而简单的开始,他们不会以这种方式结束。 必须有一些解决这个问题的软件,当然很容易扩展。

在我的search中,我碰到过:

  • SimpleSAMLphp
  • JOSSO
  • RubyCAS -服务器
  • Shibboleth的
  • Pubcookie
  • OpenID的

[哇,哎呀。 我以前的search错过了一些! 中央身份validation服务上的维基百科页面非常有用,关于OpenID替代品的部分使其看起来有很多select。

任何人都可以推荐这些,或build议要避免?

在内部,我们使用苹果的Open Directory [== OpenLDAP + Kerberos +密码服务器(我相信,== SAML)]进行身份validation。

至于系统的扩展/调整/高级configuration,我可以用Python编程,C ++可以做一些基本的PHP,也可以记住一些Java。 看起来我需要在某个时候拿起Ruby。

附录:我也希望用户能够通过networking更改他们的密码(以及某些用户更改其他用户的密码)。

我的印象(基于最近召开的关于云计算的会议)是三个“嗡嗡声”的玩家,支持OpenID, SAML和信息卡 。

OpenID对于个人更有用,使用/安装/更容易一些,并在安全性方面做出一些妥协以使“更容易”发生。

SAML和信息卡更加面向企业,安全性强。

所有这三个处理您的身份pipe理需求,但我不认为OpenID是真正的SSO像其他两个,即如果我login到使用OpenID的网站,它不会自动login到其他网站我已经授权。

SAML由Google和朋友支持,所以如果您使用Google Apps,Salesforce.com等,这是一个简单的select。 信息卡或多或less是微软的起源和(我认为)由MSN Live使用。

有基于Python的OpenID和SAML库,但我还没有find任何信息卡(好吧,不是真的看:)

Shibboleth只适用于通过HTTP保护对可用资源的访问。 它也被devise为只处理一个可靠的网站,不像OpenID,它是为不可信的网站进行authentication而devise的。 我build议OpenID比Shibboleth要简单得多。

我已经使用Shibboleth和SimpleSAML,并为两者的扩展工作。

在我们的办公室,我们使用SimpleSAML php的定制版本为Google Apps提供IDP。 因此,我们的员工可以使用与本地办公室LDAP相同的凭据loginGoogle Apps。

恕我直言:

Shibboleth的

  • function非常强大(如果你能弄清楚如何configuration它们)。
  • 需要一段时间来围绕架构和设置 – 所有东西都是XML。
  • 文档需要更多的挖掘来获取信息。
  • 用Java编写的IDP。 SP是一个Apache模块。

SimpleSAML

  • 易于使用/设置 – 您可以在几分钟内完成文档的启动和运行。
  • 非常容易定制,即很多示例模块和文档很容易遵循。
  • 有更多的深奥function,如YubiKey的支持。
  • 用PHP编写的SP / IDP。

在我们理想的设置中,我们将使用带有SimpleSAML IDP的Shibboleth SP。