Php Laravel 5.2-仅通过电子邮件登录

Php Laravel 5.2-仅通过电子邮件登录,php,laravel,laravel-5,laravel-5.2,facebook-login,Php,Laravel,Laravel 5,Laravel 5.2,Facebook Login,我正在尝试创建一个与 我收到用户电子邮件,因此我只需要使用该电子邮件登录 所以,我所做的是- Auth::attempt( [ 'email' => $user->email ]); 但我得到了这个错误- ErrorException in EloquentUserProvider.php line 112: Undefined index: password 更多细节- 我相

我正在尝试创建一个与

我收到用户电子邮件,因此我只需要使用该电子邮件登录

所以,我所做的是-

Auth::attempt(
                [
                    'email' => $user->email
                ]);
但我得到了这个错误-

ErrorException in EloquentUserProvider.php line 112:
Undefined index: password
更多细节-


我相信您应该使用的是:

Auth::login($user)

而不是:

Auth::尝试(['email'=>$user->email])


为了手动验证用户身份。

我已经这样解决了它-

//Get the user
$user = User::where('email', '=', $user->email)->first();
//Now log in the user if exists
if ($user != null)
{
    Auth::loginUsingId($user->id);
}

现在它正在工作:)。

我很感激你已经回答了你自己的问题,但这是我的回答

值得注意的是,需要密码是有原因的。默认情况下,Laravel希望有一个密码,否则它就是不安全的

与其围绕默认的auth实现编写代码,不如使用Laravel软件包Socialite,这是一个由Laravel制作和维护的软件包(阅读:Taylor)。它实际上是拉威尔的一部分,否则你只是在重新发明轮子


嗨@ollieread,感谢您的帮助,但我已经在使用它了。而且,我需要这个部分来实现认证后,从兄弟的电子邮件,感谢您的帮助,但我的问题不是这个。我已经解决了这个问题。谢谢,我知道这是个老问题,但这很好。谢谢