WP REST API-用户注册无需身份验证

时间:2018-08-31 14:40:54

标签: wordpress rest

我刚开始使用WP REST API。 对于身份验证,我使用JSON Web令牌。

我唯一的问题是我如何让用户自己注册,因为注册用户还需要验证密钥。

由于用户尚未登录,因此无法检索该密钥。

我想出了以下两个选项,但无法弄清楚如何做这两个选项。

  1. 应用程序本身具有一个授权密钥,可以使用该密钥进行请求。
  2. 禁用用户创建身份验证要求。

如果我用错误的方式看待这个问题,欢迎任何答案!

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的应用程序是网页,那么最简单的方法是与WordPress REST API分开进行。 WordPress有一个网页http://aaa.bbb.ccc/wp-login.php?action=register,可让您注册新用户。要启用此网页,请选中“信息中心”->“设置”->“常规”->“成员资格”->“任何人都可以注册”选项。

如果您的应用程序是移动应用程序,则您的移动设备可以发送与http://aaa.bbb.ccc/wp-login.php?action=register发送的HTTP请求相同的HTTP请求。即具有查询参数action的POST请求=使用POST参数user_email,user_login,wp-submit = Register注册。

如果您真的坚持要使用REST API来执行此操作,那么我认为以下方法会起作用。 (免责声明:我实际上尚未实现。)

您将需要覆盖WordPress REST身份验证。首先创建一个具有“ create_users”功能的新角色。其次,创建具有此角色的用户。创建一个随机数,指定要注册一个新用户。当您的应用将此随机数和用户凭据返回到http://aaa.bbb.ccc/wp-json/wp/v2/users端点时,您应该覆盖WordPress身份验证,以将当前用户设置为您使用角色'create_users'创建的用户。