2015-06-17 50 views
0

单点登录(SSO)是多个相关但独立的软件系统的访问控制的属性。有了这个属性,用户就可以登录一次,并获得对所有系统的访问权限,而不会再提示每个系统都重新登录。 (从wikipedia单登录认证的多服务(单点登录)

现在

,我有更多的Web服务:

  • www.a.com
  • www.b.net
  • www.c.org
  • WWW。 n.it

与更多登录页面(和注销,注册帐户,恢复密码...页面),例如:

  • www.a.com/login.php
  • www.b.net/login.asp
  • www.c.org/login
  • www.n.it/login

所有这些页面都从同一个数据库验证用户身份。

我有一个梦想,一个认证服务,例如:

  • www.a.com/login.php - >重定向到 - > auth.acme.com/login
  • WWW。 b.net/login.asp - > redirect to - > auth.acme.com/login
  • www.c.org/login - > redirect to - > auth.acme.com/login
  • www.n.it/login - >重定向到 - > auth.acme.com/login

我正在尝试不同的解决方案,例如。 SAML协议与SimpleSAMLphp,但对我来说SAML就像建立一个核反应堆来驱动一个灯泡。 它似乎是我过度设计的东西,应该很简单:单一登录(报价I Hate SAML!)。

问题

我会的“单点登录”架构,从开始的东西(例如框架,协议栈),简单。有一些像“SAML for dummies?”

回答

2

既然你显然同时控制应用以及认证系统(这样你就不会依赖于谁已经使用SAML的合作伙伴),你正在寻找SAML的一个简单的版本,我建议你开始寻找输入到OpenID Connect:http://openid.net/specs/openid-connect-core-1_0.html

这是一种基于REST/JSON而不是XML/XMLDsig/SOAP构建的现代SSO协议,就像SAML一样,并且已有许多实现可用于各种环境,比SAML实现更易于部署和管理:http://openid.net/developers/libraries/

OpenID Connect基本上就是“SAML for dummies”。您可能自己想出的任何SSO系统都不会太简单,并且不能从标准实施中受益。