Solucionado (ver solução)
Solucionado
(ver solução)
14
respostas

Duvidas JWT

Boa noite galera, segue umas dúvidas...

1 - Para pegar o usuário logado, o Auth::user(), isso funciona no laravel ? 1.1 - Caso funcione como eu defino que vai estar de fato logado ?

2 - Quando vai criar o nosso próprio middleware, ainda precisa desse método no AuthServiceProvider ? Se sim, por quê? Se não, como deixo deixo ele 'default' ?

 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);
            $dadosAutenticacao = JWT::decode($token, env('JWT_KEY'), ['HS256']);
            return User::where('email', $dadosAutenticacao->email)
                 ->first();
        });

        //
    }
14 respostas

Fala, Thiago. Hoje estamos no Laravel 6. Por que você está perguntando sobre Laravel 1.1? rsrsrs

Quanto à segunda parte, não entendi sua dúvida.

kkk não é laravel 1.1 é o tópico 1 e depois 1.1 kkk1 - Para pegar o usuário logado, o Auth::user(), isso funciona no Laravel ? \

1.1 - Caso funcione como eu defino que vai estar de fato logado ?

seria assim kkk

A segunda pergunta era o seguinte, nos vídeos quando começamos a usar o JWT uma parte da autenticação é feita no arquivo AuthServiceProvider, mas depois é criado o nosso próprio middleware(autenticador), e tem toda a lógica de autentificação lá, minha dúvida é se é necessário ter toda a lógica no AuthServiceProvider ainda.

solução!

Fala, Thiago!

Agora entendi.

Nos cursos de Laravel a gente explica como funciona o login por lá, utilizando formulário pro usuário se logar. Vale a pena dar uma olhada. TL;DR: O usuário fica salvo em sessão.

Quanto à segunda parte, não. Não precisamos do AuthServiceProvider se formos utilizar nosso próprio middleware. Mas que fique claro: Utilizando nosso próprio middleware o Lumen não vai salvar o usuário na sessão e não vai ser possível chamar Auth::user().

Nós criamos um novo middleware só pra efeitos de estudo. Vale mais a pena utilizar o AuthServiceProvider.

O Lumen já está configurado para usar esse provider e através de um guard salvar os seus dados em sessão.

Ok, vou dar uma olhada, estou tentando fazer uma API com o Laravel, o motivo disso é para uma vaga que usam o Laravel, por isso sempre to perguntando coisas relacionados ao Laravel.

Mas vlw por tudo e pela paciência, vlww!

Thiago, vale mto a pena fazer os 3 cursos, então. Os 2 de Laravel e o de Lumen.

Tudo que a gente faz no Lumen é aplicável pro Laravel, então você pode unir o aprendizado de todos os cursos. ;-)

Abração e bons estudos, Thiago!

Eu já fiz!.D, porém não consigo fazer o FormRequest funcionar no laravel para dar retorno Json pela API, funciona normal ele de fato valida, mas retorna nada para o cliente

Aahh sim, Thiago. Agora entendi sua dúvida.

Você está definindo as rotas da sua API em que arquivo?

api.php

O que foi feito tá aqui...

https://github.com/YaakovDantas/livros-api

Fala, Thiago! Então, cara. Como eu disse, é automático

Levantei seu ambiente aqui e as mensagens de erro já estão sendo retornadas como JSON, exatamente como eu disse que aconteceria: https://uploaddeimagens.com.br/imagens/tmp-png-b0d4146c-e013-4c5e-ae77-eb40f5d764c4

;-)

Caraca mannnnn, vlw, não sabia que precisava colocar no POSTMAN esse Accept no header, sem ele não aparece nada, rsrs

Mais uma vez obrigado pela paciência e vlwwwww

Opa, então era esse o problema? hahahaha

Show de bola, mano. Sempre é alguma coisa pequena que a gente deixa passar, né!?

Forte abraço e bons estudos aí! :-D

Ah antes de encerrar o tópico, se tiver algo que possa melhorar nesse projeto, aceito feedback!!!

Opa, Thiago. Confesso que não parei pra olhar o código. Só abri um Controller (nem me lembro qual) pra garantir que o código tinha sido clonado com sucesso.

De cara eu te recomendaria dar uma olhada na PSR-12 e utilizar uma ferramenta no estilo do PHPCS pra te ajudar com isso.

;-)

Ok, mais vez obrigado por tudo e pela gigante paciência, vlw Amanha já tenho o que estudar, pode fechar o tópico!

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