Jwt-auth: 未找到授权标头

创建于 2019-11-27  ·  2评论  ·  资料来源: WP-API/jwt-auth

你好,我将它与 GuzzleHttp Client 类一起使用,如下所示:

$blogService = new Client([
            'base_uri' => $baseBlogUrl . '/wp-json/wp/v2/',
            'headers' => [
                'Authorization' => 'Bearer ' . $result['access_token']
            ],
            'debug' => true
        ]);

这导致错误: {"code":"rest_authentication_no_header","message":"Authorization header was not found.","data":{"status":403}}

请求的调试显示授权标头存在:

POST /wp-json/wp/v2/users HTTP/1.1
Authorization: Bearer ACCESS_TOKEN_HERE
User-Agent: GuzzleHttp/6.4.1 curl/7.29.0 PHP/7.4.0RC6
Content-Type: application/json

最有用的评论

嘿,
可能已经找到了一些解决方案。

在 .htaccess 行中添加了 3 行(因为 HTTP_AUTHORIZATION 似乎被删除了):

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

如下(在这个特定的地方):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
</IfModule>
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

如果这些行被删除,还不确定更新某些插件时会发生什么......

编辑:也许有些东西要添加到自述文件中?
另外,想知道是否有办法通过插件安装自动将这些行添加到 .htaccess 文件中...

所有2条评论

嘿,
可能已经找到了一些解决方案。

在 .htaccess 行中添加了 3 行(因为 HTTP_AUTHORIZATION 似乎被删除了):

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

如下(在这个特定的地方):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
</IfModule>
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

如果这些行被删除,还不确定更新某些插件时会发生什么......

编辑:也许有些东西要添加到自述文件中?
另外,想知道是否有办法通过插件安装自动将这些行添加到 .htaccess 文件中...

嘿,
可能已经找到了一些解决方案。

在 .htaccess 行中添加了 3 行(因为 HTTP_AUTHORIZATION 似乎被删除了):

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

如下(在这个特定的地方):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
</IfModule>
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

如果这些行被删除,还不确定更新某些插件时会发生什么......

编辑:也许有些东西要添加到自述文件中?
另外,想知道是否有办法通过插件安装自动将这些行添加到 .htaccess 文件中...

这对我也有效。 干杯。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

jkmassel picture jkmassel  ·  7评论

andrewmclagan picture andrewmclagan  ·  3评论

vslinko picture vslinko  ·  15评论

abesto picture abesto  ·  27评论

Sitethief picture Sitethief  ·  10评论