我正在尝试使用Social Login创建Laravel 5.2。
我收到用户电子邮件,因此我需要使用仅限该电子邮件登录。
所以,我所做的是 -
Auth::attempt(
[
'email' => $user->email
]);
但是我收到了这个错误 -
ErrorException in EloquentUserProvider.php line 112:
Undefined index: password
更多细节 -
答案 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的一部分,否则你只是重新发明轮子。