什么是在主域上的Wordpress站点和子域上的非wordpress站点之间进行SSO的最简单方法

问题描述 投票:0回答:1

我有一个网站www.mydomain.com这是一个Wordpress网站,我在www.panel.mydomain.com上安装了另一个PHP脚本(不是Wordpress)

我为Wordpress创建了一个数据库,在同一主机上创建了一个PHP脚本数据库

子域上的PHP脚本是一个完全独立的网站,它可以完美地运行

在我的Wordpress网站上,我用Woocommerce销售不同的软件包,在购买了一些软件包之后,我在Wordpress上的当前用户的凭据和信息在我的其他PHP脚本的用户表上被复制了

我可以在这个阶段做到没有问题,这是我无法弄清楚如何解决:

我希望我的用户根本不在子域上看到我的PHP脚本的登录页面,如果wordpress上的用户已登录,则子域自动登录,如果用户已注销,则子域上的任何URL都不可访问和重定向到www.mydomain.com/login或任何登录页面

所以基本上删除第二个脚本登录步骤我是一种新的PHP

请给我一些提示或一些资源,经过几天的搜索,我真的不知道谢谢

php wordpress session single-sign-on credentials
1个回答
1
投票

简短的回答是,您向用户发送安全令牌(cookie),然后他们必须使用这些令牌才能在其他系统上证明自己的身份。

当您登录WordPress时,您需要创建一个插件,生成一个随机字符串,并将其发送到用户的浏览器并将其保存在PHP站点上的用户帐户中。然后,当用户访问您的PHP站点时,它会在登录页面上请求cookie。如果用户能够提供cookie,PHP站点会查找它,并使用cookie代替用户名和密码登录。

有很多方法可以加强此方法的安全性,以防止令牌被盗,但对于大多数用例,只需通过HTTPS传输它并确保它足够长/复杂应该就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.