Autenticação de API com JWT e tabela de usuário diferente
[Finalizado Pelo Aluno]
Olá Carlos,
Estou estudando o curso de JWT para atenticação API’s que estou desenvolvendo.
Eu tenho o seguinte caso:
Existe um projeto (multi tenancy single database) que está em produção que foi desenvolvido em PHP com código próprio.
A tabela de usuários não se chama “users” e além disso, não possui os campos “password” e “name” e sim “senha” e “nome”. Outro ponto, a senha não possui a mesma criptografia “bcrypt” usada no Laravel.
Eu consultei o projeto atual e existem mais de 180 query’s que consulta a tabela de usuários.
Assim sendo, penso ser inviável alterar a tabela atual e impactar no projeto que já esta em produção.
Outro ponto importante, tanto a API como o projeto que será desenvolvido em VUE JS estarão no mesmo servidor e terão o mesmo dominio.
Você tem alguma sugestão?
Obrigado!
Olá, Roberto!
Tudo bem?
É possível definir qual o nome da tabela no model, isso não é problema:
protected $table = 'nome_tabela_users';
--------
Sobre os campos, também não é problema, é possível definir os campos assim:
$credentials = [
'username' => $request->username,
'senha' => $request->senha,
];
E basta passar isso e já vai dá certo.
---------
Agora, sobre as senhas é mais complicado, porque elas precisam estar criptografas com o mesmo mecanismo do Laravel, caso contrário não vai conseguir validar se bate;
É possível rodar uma query (criar um script no Laravel, simples mesmo, pode ser temporário até dentro de uma rota) para ler e alterar todos os registros do banco de dados e criptografar as senhas no padrão do Laravel.
----------
Sobre usar o Vue.js, não vejo problema estarem no mesmo servidor (eu sempre deixo também, para economizar). Basta definir um subdomínio diferete para cada um:
www.seudominio.com => frontend com vue
admin.seudominio.com => backend com Laravel
Muito Obrigado
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!