具有一次登录身份验证的多服务(单点登录)

Multi service with one-login authentication (Single sign-on)

Single sign-on (SSO) is a property of access control of multiple related, but independent software systems. With this property a user logs in once and gains access to all systems without being prompted to log in again at each of them. (from wikipedia)

现在,我有更多的网络服务:

增加了登录页面(以及注销、注册账号、找回密码...页面),例如:

所有这些页面都对来自同一数据库的用户进行身份验证。

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

我正在尝试不同的解决方案,例如。 SAML protocol with SimpleSAMLphp,但对我来说 SAML 就像建造一个核反应堆来为灯泡供电。 似乎我过度设计了一些应该非常简单的东西:单点登录(引用I Hate SAML!)。

问题

我想要一个 "Single Sign-On" 架构,从一些简单的东西(例如框架、堆栈)开始。有类似 "SAML for dummies?"

由于您显然控制着应用程序和身份验证系统(因此您没有绑定到已经使用 SAML 的合作伙伴)并且您正在寻找一个简单版本的 SAML,我建议您开始查看 OpenID Connect:http://openid.net/specs/openid-connect-core-1_0.html.

这是一个现代 SSO 协议,它建立在 REST/JSON 而不是像 SAML 那样的 XML/XMLDsig/SOAP 上,并且已经有许多针对各种环境的实现,比 SAML 更容易部署和管理实施:http://openid.net/developers/libraries/

OpenID Connect 基本上是 "SAML for dummies"。您可能自己想出的任何 SSO 系统都不会简单得多,也无法从标准实施中受益。