我有一个用WordPress搭建的网站,同时又有几个搭着玩的项目。我想让这几个项目共享一套账号密码,并实现SSO。
查阅资料后发现WordPress采用的是phpass密码算法,然后把phpass.php导入到其中一个网页,成功在这个网页实现验证WordPress账户密码并登陆,但是并没有使WordPress同步登录。看了一下代码,phpass只是对密码进行哈希运算,只能用来加密和验证密码。我还需要做些什么才能让我在A网站登录的同时,B、C、D网站也能同步登录?设置session吗?如果是设置session的话,WordPress的session又是如何实现的。
谢谢🌹((❤️⥎❤️))🌹
最简单直接的办法就是多网站公用同一个User Table。
如果都是Wordpress网站的话你有2个选择:
如果不都是基于Wordpress建立的网站,那么你需要一个垂直数据库用来存储用户名字与验证Token,还有过期日期。每次用户无论在那个网站登录成功都会更新这Token跟过期日期。如果你的辅站都是要通过主站才能进入的话那么久直接传递这个Token。否则可以通过存储到浏览器的locationStorage或者sessionStorage实现Token传递。省下的就是在辅站里面验证这个Token了。