Estoy usando Laravel 7.5.2 con Vuejs. Estoy usando el pasaporte para la autenticación API. He seguido las instrucciones de instalación del pasaporte en el sitio web de laravel.

  • Ha ejecutado Composer requiere laravel / pasaporte, php artisan migrate y php artisan passport: instalar
  • Ha agregado HasApiTokens en el modelo de usuario
  • Ha agregado Passport :: routes () en AuthServiceProvider
  • Ha agregado la clase \ Laravel \ Passport \ Http \ Middleware \ CreateFreshApiToken :: en la aplicación \ Http \ Kernel web middlewareGroups
  • Ha cambiado el controlador Api a pasaporte en config / auth.php

La cookie llamada "laravel_token" se genera y se envía con una solicitud ajax como puedo ver en la herramienta para desarrolladores.

En mi controlador he incluido el middleware api como

public function __construct(){
    $this->middleware('auth:api');
}

Respuesta Api / Ajax

{
"message": "Undefined index: aud",
"exception": "ErrorException",
"file": "E:\\laravel\\vendor\\laravel\\passport\\src\\Guards\\TokenGuard.php",
"line": 140,
"trace": [
    {
...
}
]

También he intentado: composer dump-autoload

Mi configuración

  • Laravel: 7.5.2
  • Pasaporte: 9.0
  • PHP: 7.4.0
  • Vuejs: 2.5.17

El problema no solo está relacionado con vuejs. Está relacionado con las solicitudes ajax de javascript simple o podría ser de cualquier marco.

3
Muhammad Habib 6 may. 2020 a las 12:15

2 respuestas

La mejor respuesta

Hubo algún problema en laravel / passport versión 9.0. La actualización a la versión 9.0.1 solucionó el problema.

composer update laravel/passport:9.0.1

Los detalles del problema se pueden encontrar aquí: Detalle del problema en Github

Gracias a quienes solucionaron el problema.

2
Muhammad Habib 8 may. 2020 a las 11:36

¿Ejecutó php artisan passport:install?

Es necesario instalar claves en su directorio de almacenamiento.

0
Valerio Barbera 6 may. 2020 a las 09:25