Jwt-auth: 承認ヘッダーが見つかりませんでした

作成日 2019年11月27日  ·  2コメント  ·  ソース: WP-API/jwt-auth

ハウディ、私はこれをGuzzleHttpクライアントクラスで次のように使用しています。

$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

これらの行が消去された場合、いくつかのプラグインを更新するとどうなるかはまだわかりません...

編集:おそらくREADMEに追加されるものですか?
また、プラグインのインストールを介して.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

これらの行が消去された場合、いくつかのプラグインを更新するとどうなるかはまだわかりません...

編集:おそらくREADMEに追加されるものですか?
また、プラグインのインストールを介して.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

これらの行が消去された場合、いくつかのプラグインを更新するとどうなるかはまだわかりません...

編集:おそらくREADMEに追加されるものですか?
また、プラグインのインストールを介して.htaccessファイルへのこれらの行の追加を自動化する方法があるかどうか疑問に思っています...

これは私にもうまくいきました。 乾杯。

このページは役に立ちましたか?
0 / 5 - 0 評価