Bom dia.
Eu estava com problemas na classe AuthServiceProvider.php.
Conforme visto na aula:
public function boot()
{
$this->app['auth']->viaRequest('api', function (Request $request) {
if (!$request->hasHeader('Authorization')) {
return null;
}
$authorizationHeader = $request->header('Authorization');
$token = str_replace('Bearer ', '', $authorizationHeader);
$dadosAuth = JWT::decode($token, env('JWT_KEY'), ['HS256']);
return User::where('email', $dadosAuth->email)->first();
});
}
Só que me retornava a mensagem de erro:
$keyOrKeyArray must be an instance of Firebase\JWT\Key key or an array of Firebase\JWT\Key keys
Alterei para:
public function boot()
{
$this->app['auth']->viaRequest('api', function (Request $request) {
if (!$request->hasHeader('Authorization')) {
return null;
}
$authorizationHeader = $request->header('Authorization');
$token = str_replace('Bearer ', '', $authorizationHeader);
$key = new Key(env('JWT_KEY'), 'HS256'); // ---> passei a key desta forma
$dadosAuth = JWT::decode($token, $key);
return User::where('email', $dadosAuth->email)->first();
});
}
Aí foi. É isso mesmo? Ou fiz algo errado no primeiro?