Search code examples
authenticationlaravelconfirm

Laravel user authentication after confirmation mail


In Laravel, after registration, the user receives an email with a link with a confirmation code. When the user clicks the link in the email, I want to login the user.

Problem: The attempt-method needs a password and I only have the hashed password I stored while registering. You can't login with an hashed password with the code below.

        $credentials = [
            'username' => Input::get('username'),
            'password' => Input::get('password'),
            'confirmed' => 1
        ];

        Auth::attempt($credentials);

What is the best way to confirm and immediately login?


Solution

  • You can login directly without a password using either

     Auth::loginUsingId(1);
    

    or

     Auth::login($user);
    

    So use either of these after the confirmation code is confirmed.