[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Kelvin Ferreira Souza
Criador Kelvin Ferreira Souza 09/09/2018

Boa tarde, estou tentando fazer a multipla autenticação no laravel 5.6 e segui as suas aulas que tem no canal do youtube porém não obtive sucesso, talvez seja porque vc estava usando a versão 5.2. Estou desenvolvendo um ecommerce e preciso também da autenticação dos clientes no site. Eu tenho a autenticação do administrador funcionado mas a do cliente ele verifica se o usuario existe e até redireciona para a rota que foi setada quando o login é realizado, porém, quando tento chamar os dados do usuario do outro guard {{Auth::guard('clientes')->user()}} ele não me retorna nada.. Também estou començando a fazer a integração com o paypal conforme seu curso. Obrigado.

Manager Carlos Ferreira 09/09/2018

Olá, Kelvin!
Tudo bem?

Se quiser postar o código completo no GitHub, eu posso ter uma ideia melhor do problema e te ajudar com mais precisão.

Tenho um exemplo atualizado, de multi-auth na versão 5.5, veja se ajuda: https://github.com/carlosfgti/laravel55-mult-auth-custom

Carlos Ferreira
Criador Kelvin Ferreira Souza 09/09/2018

Dei uma olhada no seu código porém não consegui resolver, se possivel da uma olhada no meu https://github.com/kelvinfer4/laravel-emarket/. Obrigado!!

Kelvin Ferreira Souza
Manager Carlos Ferreira 09/09/2018

Kelvin,

O Model é o Cliente (app/Cliente.php), certo?
A implementação dele está correta.

Não cheguei a testar nas versões mais atuais do Laravel, mas nos testes que fiz só permitia customizar o username (email) e não o password.

Vi que você deixou a coluna com o nome de senha e não de password, experimente deixar com o nome de password e me diz se deu certo.

No aguardo.

https://blog.especializati.com.br/como-criar-login-personalzado-laravel/

Carlos Ferreira
Criador Kelvin Ferreira Souza 09/09/2018

Sim, o Model é Cliente, realizei a troca mas não resolveu, a minha outra model de autenticação que está funcionando (App/Usuario) também está com o campo password customizado para senha se vc verificar, funciona. Mas o cliente está entrando neste IF e enviando o mesmo para a index, como se estivesse autenticado, porém não exibe os dados do mesmo:

if (Auth::check() || ($cliente && Hash::check($password, $cliente->password))) {

            Auth::login($cliente);

            return redirect(route('index'));

        } else {

            return redirect(route('loginUser'));

        }

Kelvin Ferreira Souza
Manager Carlos Ferreira 09/09/2018

Kelvin,

Baixei o seu projeto, testei e funcionou.

Precisa faz a autenticação especificando o guard, dessa forma:
public function logarCliente(Request $request)
{
    $credentials = $request->only('email', 'password');

    if ( Auth::guard('clientes')->attempt($credentials) )
        return redirect()->route('index');

    return redirect()
                ->route('loginCliente')
                ->withInput()
                ->withError(['Dados inválidos!']);
}

Quando precisar recuperar as informações do cliente, também precisa especificar o guard:
Auth::guard('cliente')->user()->name

Carlos Ferreira
Criador Kelvin Ferreira Souza 09/09/2018

Carlos, sem palavras para agradescer, estava a dias sem conseguir resolver este problema, muito obrigado, funcionou perfeitamente!!! 

Kelvin Ferreira Souza
Criador Kelvin Ferreira Souza 09/09/2018

agradecer*

Kelvin Ferreira Souza
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!