Jwt-auth: Autorisierungsheader wurde nicht gefunden

Erstellt am 27. Nov. 2019  ·  2Kommentare  ·  Quelle: WP-API/jwt-auth

Hallo, ich verwende dies mit der GuzzleHttp-Client-Klasse wie folgt:

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

Dies führt zu einem Fehler: {"code":"rest_authentication_no_header","message":"Authorization header was not found.","data":{"status":403}}

Das Debug für die Anfrage zeigt jedoch, dass der Autorisierungsheader vorhanden ist:

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

Hilfreichster Kommentar

Hey,
hat vielleicht eine Lösung dafür gefunden.

3 Zeilen in der .htaccess-Zeile hinzugefügt (wie es scheint, ist HTTP_AUTHORIZATION ansonsten ausgeblendet):

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

wie folgt (an diesen speziellen Stellen):

<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

Ich bin mir noch nicht sicher, was beim Aktualisieren einiger Plugins passiert, wenn diese Zeilen gelöscht würden ...

Edit: Vielleicht etwas zur README hinzufügen?
Ich frage mich auch, ob es eine Möglichkeit gibt, das Hinzufügen dieser Zeilen zur .htaccess-Datei über die Plugin-Installation zu automatisieren ...

Alle 2 Kommentare

Hey,
hat vielleicht eine Lösung dafür gefunden.

3 Zeilen in der .htaccess-Zeile hinzugefügt (wie es scheint, ist HTTP_AUTHORIZATION ansonsten ausgeblendet):

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

wie folgt (an diesen speziellen Stellen):

<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

Ich bin mir noch nicht sicher, was beim Aktualisieren einiger Plugins passiert, wenn diese Zeilen gelöscht würden ...

Edit: Vielleicht etwas zur README hinzufügen?
Ich frage mich auch, ob es eine Möglichkeit gibt, das Hinzufügen dieser Zeilen zur .htaccess-Datei über die Plugin-Installation zu automatisieren ...

Hey,
hat vielleicht eine Lösung dafür gefunden.

3 Zeilen in der .htaccess-Zeile hinzugefügt (wie es scheint, ist HTTP_AUTHORIZATION ansonsten ausgeblendet):

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

wie folgt (an diesen speziellen Stellen):

<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

Ich bin mir noch nicht sicher, was beim Aktualisieren einiger Plugins passiert, wenn diese Zeilen gelöscht würden ...

Edit: Vielleicht etwas zur README hinzufügen?
Ich frage mich auch, ob es eine Möglichkeit gibt, das Hinzufügen dieser Zeilen zur .htaccess-Datei über die Plugin-Installation zu automatisieren ...

Das hat bei mir auch funktioniert. Danke schön.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen