跨多个网站(多个数据库)的SSO
在这里稍微失去了我的想法,我真的很想帮助我指出正确的方向。跨多个网站(多个数据库)的SSO
我在GoDaddy上使用共享的Linux服务器,其中有两个PHP网站,具有单独的用户登录身份验证两个单独的MySQL数据库。我想让用户登录到Site 1,然后自动登录到Site 2.当他们退出这两个站点时,他们应该从两个站点注销。
我目前已经安装了SimpleSAMLphp,并且我非常感谢关于如何设置IdP和SP的一些指导。我认为站点1和站点2是SP的吗?
任何指导将不胜感激,这是我的第一次SSO设置,我只是有点失落。
回答:
要实现单点登录,您需要在两个网站都有共同点以进行身份验证。 Cookie不会有帮助,因为有两个不同的网站,并且将您的Cookie暴露给另一个网站并不好。
一般来说,SSO是使用基本上处理认证数据的中央serevr实现的。
基本步骤如下:
对于登录,用户被重定向到普通服务器和凭据得到验证。
中央服务器设置登录的cookie。
当您的其他网站需要登录时,它会使用重定向再次检查中央服务器。
然后,中央服务器检查cookie并进行身份验证或重定向登录,如果以前未经过鉴定。
所以,你可以配置哪些检查认证中心认证服务器,并提供适当的反应,这两个网站相应的处理。
但是,中央服务器需要一个共同的用户数据库,在你的情况下,你显然缺乏。因此,您可以将其中一个网站声明为中央资源或主要资源,并向其他网站公开API,以公开其用户群以验证其详细信息。
让一个网站处理登录过程。如果其他需要进行身份验证,则会将用户重定向到主网站,然后处理返回响应。
理论上有很多需要弥补的地方,但希望能对其有所帮助。
相关链接:
Building and implementing a Single Sign-On solution
Basics of Single Sign on (SSO)
以上是 跨多个网站(多个数据库)的SSO 的全部内容, 来源链接: utcz.com/qa/263530.html