我想使用这个插件的可湿性粉剂RestAPI认证:https://github.com/Tmeister/wp-api-jwt-auth
我在POST:http://localhost/wp_rest/wp-json/jwt-auth/v1/token上获得带有此请求的令牌
但是我无法执行对post mehod的请求:localhost/wp_rest/wp-json/wp/v2/posts
我得到错误403:
{
"code": "rest_forbidden"
"message": "You don't have permission to do this."
"data": {
"status": 403
}
}
在我的标题中,我有:
Authorization: Bearer
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3RcL3dwX3Jlc3QiLCJpYXQiOjE0NTAzNDEwMTgsIm5iZiI6MTQ1MDM0MTAxOCwiZXhwIjoxNDUwOTQ1ODE4LCJkYXRhIjp7InVzZXIiOnsiaWQiOiIxIn19fQ.rGNPsU4EocClWLYWaSDs1hDJMODszg-eKfqnKSEsiw0
我尝试使用localhost/WP _ rest/WP-JSON/jwt-auth/v1/token/validate,但是我得到了这个错误:
{
"code": "jwt_auth_no_auth_header",
"message": "Authorization header not found.",
"data": {
"status": 403
}
}
有什么想法吗?
我在设置同一个插件时遇到了类似的问题,因此我创建了一个视频,详细介绍了快速启动测试环境、安装插件、执行插件工作所需的设置,然后验证其功能的过程。
这里是:https://youtu.be/Mp7T7x1oxDk
如果Leo Gono和Tunaki提供的答案仍然不能解决您的问题,如果您使用的是Apache,请确保您已将以下代码添加到.htaccess
中:
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
确保将这些行放在. htaccess中带有“[L]”的最后一行之前,否则将无法处理。
框架设置服务器可能会丢弃授权标头。(我必须更改Laravel的htaccess)
看起来您的请求中没有包含授权标头。您需要在您的请求标头中添加'Authoration':'BeaterPLACE_TOKEN_HERE'
。
作为示例:
var req = {
method: 'POST',
url: window.location.href + 'wp-json/wp/v2/posts',
headers: {
'Authorization': 'Bearer ' + TOKEN_GOES_HERE
}
data: DATA TO PASS GOES HERE
}
$http(req);