Jwt-auth: No se encontró el encabezado de autorización

Creado en 27 nov. 2019  ·  2Comentarios  ·  Fuente: WP-API/jwt-auth

Hola, estoy usando esto con la clase de cliente GuzzleHttp de la siguiente manera:

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

Esto da como resultado un error: {"code":"rest_authentication_no_header","message":"Authorization header was not found.","data":{"status":403}}

Sin embargo, la depuración de la solicitud muestra que el encabezado de autorización existe:

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

Comentario más útil

Oye,
puede haber encontrado alguna solución a esto.

Se agregaron 3 líneas en la línea .htaccess (ya que parece que HTTP_AUTHORIZATION está rayada):

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

de la siguiente manera (en estos lugares específicos):

<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

Aún no estoy seguro de qué sucede al actualizar algunos complementos si estas líneas se borrarían ...

Editar: ¿tal vez algo para agregar al archivo README?
Además, me pregunto si hay una manera de automatizar la adición de estas líneas al archivo .htaccess a través de la instalación del complemento ...

Todos 2 comentarios

Oye,
puede haber encontrado alguna solución a esto.

Se agregaron 3 líneas en la línea .htaccess (ya que parece que HTTP_AUTHORIZATION está rayada):

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

de la siguiente manera (en estos lugares específicos):

<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

Aún no estoy seguro de qué sucede al actualizar algunos complementos si estas líneas se borrarían ...

Editar: ¿tal vez algo para agregar al archivo README?
Además, me pregunto si hay una manera de automatizar la adición de estas líneas al archivo .htaccess a través de la instalación del complemento ...

Oye,
puede haber encontrado alguna solución a esto.

Se agregaron 3 líneas en la línea .htaccess (ya que parece que HTTP_AUTHORIZATION está rayada):

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

de la siguiente manera (en estos lugares específicos):

<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

Aún no estoy seguro de qué sucede al actualizar algunos complementos si estas líneas se borrarían ...

Editar: ¿tal vez algo para agregar al archivo README?
Además, me pregunto si hay una manera de automatizar la adición de estas líneas al archivo .htaccess a través de la instalación del complemento ...

Esto funcionó para mí también. Salud.

¿Fue útil esta página
0 / 5 - 0 calificaciones