我已经安装了WordPress团队制作的插件:https://github.com/WP-API/Basic-Auth
我在Wordpress 4.9.4中提出了这个请求:
GET http://somehostname.com/index.php?rest_route=%2Fwp%2Fv2%2Fposts&per_page=100&page=2&context=edit HTTP/1.1
Host: somehostname.com
Authorization: Basic [****base64encoded username+":"+pass *******]
Accept-Encoding: gzip, deflate
User-Agent: [some user agent name]
字符串
回应:
HTTP/1.1 401 Unauthorized
Date: Tue, 13 Feb 2018 14:26:12 GMT
Server: Apache
X-Powered-By: PHP/7.1.12
X-Robots-Tag: noindex
Link: <http://somehostname.com/wp-json/>; rel="https://api.w.org/"
X-Content-Type-Options: nosniff
Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages
Access-Control-Allow-Headers: Authorization, Content-Type
Vary: Accept-Encoding,User-Agent
Content-Length: 127
Content-Type: application/json; charset=UTF-8
{"code":"rest_forbidden_context","message":"Sorry, you are not allowed to edit posts in this post type.","data":{"status":401}}
型
6条答案
按热度按时间j2datikz1#
请在
htaccess
文件中添加以下代码。字符串
如果你登录作为一个WordPress的管理员现在比它将不允许你创建一个职位,所以第一次从WordPress的管理员注销,然后尝试提出请求.
这两个解决方案解决了我的问题。
vuktfyat2#
我从你的问题中推断出这是不应该发生的。你期待的是一些不是
4xx
类型的响应代码。从标题:“401 Unauthorized with Wordpress Basic Auth Plugin”,我也在做一个飞跃,但你可能认为插件不允许你在任何意义上访问该路由。
所以,考虑到这一点,我想指出的是,错误数据告诉你一些非常精确的东西:该 * 用户 * 不允许编辑该类型的帖子。这不与该 * 用户 * 的凭据无效相同。
字符串
尝试确认您以
[****base64encoded username+":"+pass *******]
提供的凭据的用户是管理员/作者/编辑器(或其他角色),有权编辑您试图访问的类型的帖子。编辑:请参阅WP-API的这一行,错误可能源于此
brjng4g33#
我得到了这个修复刚才这样做的评论是建议:修复基本的OAuth不知道如果这个修复有任何副作用,虽然?
kzmpq1sx4#
我按照这个非常简短的建议修复了auth问题
https://github.com/WordPress/application-passwords/wiki/Basic-Authorization-Header----Missing
我还不得不把WordPress块移到htaccess的顶部
rur96b6h5#
我已通过以下步骤修复了此问题:
1.验证是否安装了
password protected
插件,然后1.后藤密码保护插件的设置
1.选中“允许REST API访问”*
1.保存更改
100d1x
的字符串
ffscu2ro6#
您可以在.htaccess中添加此代码段来解决此错误
字符串