2017-12-18 263 views
3

在这里稍微失去了我的想法,我真的很想帮助我指出正确的方向。跨多个网站(多个数据库)的SSO

我在GoDaddy上使用共享的Linux服务器,其中有两个PHP网站,具有单独的用户登录身份验证两个单独的MySQL数据库。我想让用户登录到Site 1,然后自动登录到Site 2.当他们退出这两个站点时,他们应该从两个站点注销。

我目前已经安装了SimpleSAMLphp,并且我非常感谢关于如何设置IdP和SP的一些指导。我认为站点1和站点2是SP的吗?

任何指导将不胜感激,这是我的第一次SSO设置,我只是有点失落。

回答

1

要实现单点登录,您需要在两个网站都有共同点以进行身份​​验证。 Cookie不会有帮助,因为有两个不同的网站,并且将您的Cookie暴露给另一个网站并不好。

一般来说,SSO是使用基本上处理认证数据的中央serevr实现的。

基本步骤如下:

  1. 对于登录,用户被重定向到普通服务器和凭据得到验证。

  2. 中央服务器设置登录的cookie。

  3. 当您的其他网站需要登录时,它会使用重定向再次检查中央服务器。

  4. 然后,中央服务器检查cookie并进行身份验证或重定向登录,如果以前未经过鉴定。

所以,你可以配置哪些检查认证中心认证服务器,并提供适当的反应,这两个网站相应的处理。

但是,中央服务器需要一个共同的用户数据库,在你的情况下,你显然缺乏。因此,您可以将其中一个网站声明为中央资源或主要资源,并向其他网站公开API,以公开其用户群以验证其详细信息。

让一个网站处理登录过程。如果其他需要进行身份验证,则会将用户重定向到主网站,然后处理返回响应。

理论上有很多需要弥补的地方,但希望能对其有所帮助。

相关链接:

  1. Building and implementing a Single Sign-On solution

  2. Basics of Single Sign on (SSO)

+0

谢谢你这么多,都有道理,我会得到它。感谢您的指导。 –