是否与自定义子主站点共享登录的会话?

时间:2021-11-15 作者:Thumbs

我正在尝试在典型的Wordpress安装和位于Wordpress站点子域上的辅助(自定义/PHP)站点之间共享Wordpress登录。

用户应该能够在任一站点上注册,以便在WP数据库中创建用户。插件;WP Webhooks“;在PHP中使用curl使其变得足够简单。

用户还应该能够登录到任何一个站点,并将其会话传递到另一个站点,这样他们就不必再次登录。通过辅助站点,我可以查询WP数据库以进行登录,并使用phpass类的函数。php来验证密码,但这本身并没有设置哈希会话cookie以及我需要在两个站点之间来回的其他内容。

在过去的几天里,我看了很多东西,但运气不太好-我尝试了一些curl脚本,其中一些很有效,但它们似乎没有设置任何登录cookie,我可以看到一个页面,然后会话在继续之后就结束了。

我看到了一些建议,我模拟了登录cookie,但在查看了各种文档和wordpress文件后,我仍然不知道它们是如何生成的。(即,如果cookie名称为wordpress\\u logged\\u in\\u 63648015d2894d2b5f23f2c4634cf382,则用于生成该哈希的是什么-值也是一样的。)

我看到了各种各样的SSO插件,它们要么让我感到困惑,要么不是我想要的——我并不是想让人们使用不同的凭据登录,我只是想在两个站点上使用相同的凭据登录(一个子域上的一个站点),并保持登录状态,以便用户可以来回访问。

非常感谢任何建议/示例/参考-如果我对如何复制会话cookie有了更好的理解,我甚至可能很接近,假设我已经有了用户信息。

谢谢你的指点!

1 个回复
SO网友:Jannis

您可能想看看$_COOKIE PHP变量-它存储您要访问的Cookie。如果您使用WordPress创建一个wp_set_auth_cookie() 函数,您可以尝试使用WP Webhooks 及其Custom trigger called 端点将cookie发送到新站点,并将其存储在您自己的会话中。

相关推荐

如何创建一个函数来修改wp-login.php文件中的消息?

当用户使用WordPress中的密码重置功能时,会要求他们输入电子邮件并单击确认。这样做之后,他们得到的信息是:检查电子邮件中的确认链接,然后访问登录页面。我希望修改此消息,并且我已经找到了在wp登录中写入消息的代码行。php文件:if ( \'confirm\' === $_GET[\'checkemail\'] ) { $errors->add( \'confirm\', sprintf( /* translators: %s: L