Laravel 5.2 - 仅使用电子邮件登录

时间:2016-09-25 02:35:16

标签: php laravel laravel-5 laravel-5.2 facebook-login

我正在尝试使用Social Login创建Laravel 5.2

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

所以,我所做的是 -

Auth::attempt(
                [
                    'email' => $user->email
                ]);

但是我收到了这个错误 -

ErrorException in EloquentUserProvider.php line 112:
Undefined index: password

更多细节 -

enter image description here

3 个答案:

答案 0 :(得分:3)

我已经解决了这个问题 -

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

它现在正在运作:)。

答案 1 :(得分:1)

我相信你应该使用的是:

Auth::login($user);

而不是:

Auth::attempt(['email' => $user->email]);

为了手动验证用户身份。

答案 2 :(得分:1)

我很感激您已经回答了自己的问题,但无论如何,这是我的回答。

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

为什么不使用Laravel包,社交网,Laravel制作和维护的包(阅读:Taylor),而不是在默认的auth实现中编写方法。它实际上是Laravel的一部分,否则你只是重新发明轮子。

https://github.com/laravel/socialite