Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

khoanguyenme's avatar

Laravel 5 Auth::attemp() method

I'm following this awesome lesson to create a Socialite Authentication for my new L5 app: https://laracasts.com/series/whats-new-in-laravel-5/episodes/9

There is one problems in this Lession is Illuminate\Contracts\Auth\Authenticator was removed and I don't know how to make it right in the latest L5 I want something like this in L4:

Auth::attempt(array('email' => $user->email), true);
0 likes
7 replies
RachidLaasri's avatar

This is still available

if (Auth::attempt(array('email' => $email, 'password' => $password)))
{
    return Redirect::intended('dashboard');
}

You just need to add

use Illuminate\Support\Facades\Auth;
khoanguyenme's avatar

@RachidLassri I tried to login with only email (the password part doesn't need when login with Socialite) Auth::attempt(['email' => $user->email], false);

I got this exception

ErrorException in EloquentUserProvider.php line 105:
Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Contracts\Auth\Authenticatable, instance of Quiz\User given, called in D:\www\newquiz\vendor\laravel\framework\src\Illuminate\Auth\Guard.php on line 377 and defined

Stace Trace:

in EloquentUserProvider.php line 105
at HandleExceptions->handleError('4096', 'Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Contracts\Auth\Authenticatable, instance of Quiz\User given, called in D:\www\newquiz\vendor\laravel\framework\src\Illuminate\Auth\Guard.php on line 377 and defined', 'D:\www\newquiz\vendor\laravel\framework\src\Illuminate\Auth\EloquentUserProvider.php', '105', array()) in EloquentUserProvider.php line 105
at EloquentUserProvider->validateCredentials(object(User), array('email' => 'contact@tienganhratde.com')) in Guard.php line 377
at Guard->hasValidCredentials(object(User), array('email' => 'contact@tienganhratde.com')) in Guard.php line 358
at Guard->attempt(array('email' => 'contact@tienganhratde.com'), false)
at call_user_func_array(array(object(Guard), 'attempt'), array(array('email' => 'contact@tienganhratde.com'), false)) in Manager.php line 139
at Manager->__call('attempt', array(array('email' => 'contact@tienganhratde.com'), false)) in Facade.php line 213
at AuthManager->attempt(array('email' => 'contact@tienganhratde.com'), false) in Facade.php line 213
at Facade::__callStatic('attempt', array(array('email' => 'contact@tienganhratde.com'), false)) in AuthenticateUser.php line 54
at Auth::attempt(array('email' => 'contact@tienganhratde.com'), false) in AuthenticateUser.php line 54
at AuthenticateUser->execute('facebook', true, object(AuthController)) in AuthController.php line 19
at AuthController->login('facebook', object(AuthenticateUser), object(Request))
at call_user_func_array(array(object(AuthController), 'login'), array('provider' => 'facebook', object(AuthenticateUser), object(Request))) in Controller.php line 245
at Controller->callAction('login', array('provider' => 'facebook', object(AuthenticateUser), object(Request))) in ControllerDispatcher.php line 162
at ControllerDispatcher->call(object(AuthController), object(Route), 'login') in ControllerDispatcher.php line 107
at ControllerDispatcher->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101
at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 108
at ControllerDispatcher->callWithinStack(object(AuthController), object(Route), object(Request), 'login') in ControllerDispatcher.php line 67
at ControllerDispatcher->dispatch(object(Route), object(Request), 'Quiz\Http\Controllers\AuthController', 'login') in Route.php line 198
at Route->runWithCustomDispatcher(object(Request)) in Route.php line 131
at Route->run(object(Request)) in Router.php line 675
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101
at Pipeline->then(object(Closure)) in Router.php line 676
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 646
at Router->dispatchToRoute(object(Request)) in Router.php line 604
at Router->dispatch(object(Request)) in Kernel.php line 155
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 43
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 55
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 53
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 36
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 40
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101
at Pipeline->then(object(Closure)) in Kernel.php line 108
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 83
at Kernel->handle(object(Request)) in index.php line 53
marijang's avatar

I ran into issue with same error message and realized I removed

 use Authenticatable, CanResetPassword;

from User model. So if you changed it at all check it. Don't know if that's the problem thou.

JarekTkaczyk's avatar
Level 53

@khoanguyenme Your Quiz\User must implement Illuminate\Contracts\Auth\Authenticable interface, that's all. It doesn't necessarily need to use Authenticable trait, but that's an option.

<?php namespace Quiz;

use Illuminate\Contracts\Auth\Authenticable;
use Illuminate\Auth\Authenticable as AuthenticableTrait;

class User extends \Eloquent implements Authenticable {
    // you can satisfy the interface by using the trait
    // use AuthenticableTrait;
    // or by implementing the methods yourself if you need them customized
}
1 like
lalitesh's avatar

My User model was missing the some class,

Old code

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
-------

New code

namespace App\Models;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Illuminate\Database\Eloquent\SoftDeletes;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract {

    use Authenticatable, CanResetPassword;
    use SoftDeletes;
    ----------

And it worked. I was getting error only when email address was correct and password was wrong.

1 like
KigenCoder's avatar

Had the same issue, thanks this solved it for me :-) Wonder why this has not been added to the documentation

Please or to participate in this conversation.