Dentro da pasta app\Listeners
crie um arquivo com o seguinte nome JWTAbsentTokenListener.php
, e adicione o seguinte conteúdo :
<?php
namespace App\Listeners;
use App\Events\SomeEvent;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class JWTAbsentTokenListener
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @return void
*/
public function handle()
{
return response()->json([
'error' => 'Token is missing.',
], 500);
}
}
Para registrar o listener criado a um evento disparado pelo JWT faça seguinte.
No arquivo app\Providers\EventServiceProvider.php
adicione a seguinte linha ao final do método boot
.
/**
* Register any other events for your application.
*
* @param \Illuminate\Contracts\Events\Dispatcher $events
* @return void
*/
public function boot(DispatcherContract $events)
{
parent::boot($events);
\Event::listen('tymon.jwt.absent', \App\Listeners\JWTAbsentTokenListener::class);
}
- tymon.jwt.absent Token não encontrado na requisição.
- tymon.jwt.expired Token expirado.
- tymon.jwt.invalid Token inválido.
- tymon.jwt.user_not_found Usuário não encontrado.
- tymon.jwt.valid Token válido (usuário é passado como segundo argumento para o método
handle
do listener).
Pronto :D