我一直在阅读Single Sign on和OpenId 我已在下面的链接
上查看了OpenId和Single Sign On的文档单点登录
http://rashidi.zin.my/geek-talks/2009/06/30/php-mysql-curl-single-sign-on-with-multiple-domains.html
http://www.opengroup.org/security/sso/sso_intro.htm
http://www.authenticationworld.com/Single-Sign-On-Authentication/
http://merbist.com/2012/04/04/building-and-implementing-a-single-sign-on-solution/
https://wiki.queensu.ca/display/itsd/Single+Sign-On
https://github.com/jasny/sso#readme
https://lw.microstrategy.com/msdz/MSDL/940/docs/mergedProjects/websdk/topics/sso/SSO_Single_Sign-on.htm
的OpenID
http://openidexplained.com/
http://openid.net/pres/protocolflow-1.1.png - 流程图
http://wiki.openid.net/w/page/12995226/Run%20your%20own%20identity%20server
我在单点登录上理解的简单概念可以解释如下
用户点击domain1.com
domain1.com看到没有会话cookie
domain1.com重定向到sso.com
sso.com提供登录页面,并获取凭证
sso.com为用户设置会话cookie
sso.com然后重定向回domain1到一个特殊的URL(如domain1.com/ssologin)
ssologin URL包含一个基本上"签署的参数"由sso.com提供。它可以像使用共享密钥加密loginid的base64一样简单
domain1.com接受加密的令牌,对其进行解密,使用新的登录ID登录用户
domain1为用户设置会话cookie。
现在,下一个案例。
用户点击domain2.com,它跟随domain1并重定向到sso.com
sso.com已经为用户提供了cookie,因此不会显示登录页面
sso.com使用加密信息重定向回domain2.com
domain2.com登录用户。
我得到的OpenId概念可以解释为
OpenID允许您使用现有帐户登录多个网站,而无需创建新密码。 无论您访问哪个网站,OpenID都是一种识别自己的方式。
现在我的问题是在阅读了大量文档之后,我不确定我是否能够使用openID实现单点登录,这对我来说在开始编码之前非常重要。
有没有办法我可以将我的数据库上传到OpenId进行身份验证,所以我的用户不需要再次进行所有练习。
如果有人之前已经实现了这一点,或者有任何参考资料让我明白这一点,我将非常感激
答案 0 :(得分:0)
是的,OpenID将为您提供可能位于不同域中的Web应用程序的单点登录。请注意,OpenID 2.0(您指向的链接的主题)已弃用并由OpenID Connect跟进,请参阅:http://openid.net/specs/openid-connect-core-1_0.html#Introduction
您可以使用许多产品和库来构建: http://openid.net/developers/libraries/