0
respostas

STD:CLASS Error e $KeytoKey

Bom dia, realizando o curso vi que foi necessários fazer algumas adaptações para o código funcionar, a primeira foi que devemos passar o tipo de algoritmo que esta sendo usado no JWT o 'HS256' na classe TokenController.php

$token = JWT::encode(['email' => $request->email], env('JWT_KEY'));

Para:

$token = JWT::encode(['email' => $request->email], env('JWT_KEY'), 'HS256');

E dentro do AuthServiceProvider eu tive erro STD::Class que ele não consegue encontrar o dado email da variavel $dadosAutenticação, ai eu converti o objeto para um array, além disso ao invés de passar os parametros direto no JWT::Decode eu tive que criar um novo objeto do tipo Key da propria biblioteca do JWT para usá-lo. (Tem outra tópico nesse fórum falando disso). No outro vídeo o professor mostra como usar ele como objeto ao invés de ter que converter pra string basta acessar como objeto $dadosAutenticacao->email;

O que era assim:

$dadosAutenticacao = JWT::decode($token, (env('JWT_KEY'), ['HS265']);

Ficou assim:

$key = new Key(env('JWT_KEY'), 'HS256');

$dadosAutenticacao = (array) JWT::decode($token, $key);

Além disso para conseguir subir os dados no banco de dados da tabela usuarios eu tive que passar no DatabaseSeeder, UsuarioSedder::class (sem aspas) ao inves de com aspas 'UsuarioSeeder'.

Espero que ajude quem tiver os mesmos problemas.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software