有一个现有的非WP站点,我需要他们的用户能够使用他们已经拥有的相同凭据登录我的新Wordpress站点。
我得到了一个端点(www.example-api.com/token)和登录凭据(电子邮件和密码),其中给出了一个令牌(和其他详细信息)作为响应。
我一直在阅读OAuth,我得到的大部分是来自其他方面的问题的资源(比如使用WP站点上的creds登录非WP站点)。我没有访问其他网站的权限,我认为它需要在那里设置,所以,我应该划掉这个吗?
我偶然发现通过一个自定义插件覆盖了wp\\U身份验证,我已经设置好了这个插件,但我甚至都不知道该怎么做。
对此有什么指导或推动吗?
最合适的回答,由SO网友:Suika 整理而成
Update: Made a blog post to explain this better :)
我能通过WP做到这一点authenticate
在新插件中过滤;其中大部分是由this tutorial 作者:Ben Lobaugh。插件的要点:
使用cURL进行API调用函数(如果您还不知道的话,可以在测试后从Postman那里获得指导代码)
添加筛选器检查来自呼叫的响应是否表示该用户存在并且具有访问权限(在我的案例中,基于用户角色)仍在使用筛选器,请检查用户是否已在WP站点上拥有帐户–如果没有,请使用为他们创建一个帐户
wp_insert_user
. 为了澄清,我使用了API验证的电子邮件和密码,因为WP的数据库需要注册用户如果WP数据库中已经存在该用户,请使用确保其凭据相同
wp_update_user
. 这些是针对他们在非WP主网站上更改详细信息的情况(可选)为插件添加设置页面。在我的例子中,我通过以下方式为请求URL创建了一个字段
this tutorial 作者:巴拉特·帕雷克