WP Rest API中的401错误(基本Auth和OAuth)

时间:2019-05-01 14:45:52

标签: wordpress authentication

我正在为WP网站构建一个移动应用程序,我试图从用户开始,向{-{1}}请求到WP-API正常工作。

我正在遵循一些教程中概述的过程:

  1. 安装基本身份验证插件
  2. 在Postman中,准备向POST的请求,并使用身份验证标签中的“基本身份验证”为我的管理员用户填写凭据。
  3. 在正文中,包括用户名,电子邮件和密码。

(没有其他内容,没有其他标头或其他内容)

我收到401错误:

POST wp-json/wp/v2/users

这里的一个问题涉及cookie以及在浏览器中的登录或注销;无论我是否在Chrome中登录WP管理控制台,我都会得到相同的结果。我正在使用Postman桌面客户端。

(我打算尝试找出oAuth或JWT,但仍然困惑为什么这个更基本的路由无法正常工作!)

更新

我已经从OAuth教程中遵循了这些步骤,并获得了相同的401响应(尝试了{ "code": "rest_cannot_create_user", "message": "Sorry, you are not allowed to create new users.", "data": { "status": 401 } } 请求之后)

  1. 安装并激活OAuth1插件
  2. 注册一个新的应用程序,以获取客户端密钥和客户端密钥。 (将回调URL指向我放置在服务器上的简单占位符文件)
  3. DELETE,其步骤2的密钥和秘密分别为POST /oauth1/requestoauth_consumer_keyoauth_consumer_secret = HMAC-SHA1),作为身份验证标头传递。接收oauth_signature_methodoauth_token
  4. 在浏览器中访问oauth_secret,并从步骤3中访问http://my-dev-server.com/oauth1/authorize?oauth_token=<token_here>&oauth_token_secret=<secret_here>oauth_token
  5. 打开WP连接页面(以该站点的管理员身份登录),单击“授权”。收到oauth_secret
  6. verification token,在第3步中使用了POST /oauth1/accessoauth_consumer_key,并且收到了oauth_consumer_secretoauth_token, 在步骤3中将em>作为auth头,并将步骤5中的验证令牌作为URL oauth_secretoauth_verifier)中的查询。接收新的http://my-dev-server/oauth1/access?oauth_verifier=<oauth_verifier_value>oauth_token
  7. oauth_secret(我刚从网站创建的要删除的列表的ID),使用原始的DELETE /wp-json/wp/v2/job-listings/936oauth_consumer_key以及新的oauth_consumer_secret和{ {1}}(在步骤6中收到)作为auth标头。

然后我得到401响应。当然,请注意,所有中间步骤似乎均正常工作。我从来没有替换过占位符回调,但是本教程对此没有说明。但这也许是我的问题吗?

我还将注意到,我没有做任何服务器设置来向API公开存储。据我所知,这些教程都没有提到任何类似的前功,所以我认为它是开箱即用的。 (其他人设计了WP网站并选择了所有数据库插件等)。

1 个答案:

答案 0 :(得分:0)

请尝试使用以下URL:POST wp-json / wp / v2 / users / me