Laravel 5和社会名流,如何在数据库中保存和登录
看完后:http://laravel.com/docs/5.0/authentication我能够使用来检索的OAuth提供商(Facebook)的用户详细信息社会名流:Laravel 5和社会名流,如何在数据库中保存和登录
$user->getNickname(); $user->getName();
$user->getEmail();
$user->getAvatar();
但我不能而她不知道如何将用户保存在数据库或登录用户的任何进一步资料
我想做的相当于:
Auth::attempt(['email' => $email, 'password' => $password])
但对于细节[R etrieved通过Socialite(我没有密码)
你能告诉我一个使用“Auth”与用户数据通过Socialite检索的例子吗?
回答:
添加到“”用户“表新列:facebook_user_id。每次用户尝试通过Facebook登录时,Facebook都会返回相同的用户ID。
public function handleProviderCallback($provider) {
$socialize_user = Socialize::with($provider)->user();
$facebook_user_id = $socialize_user->getId(); // unique facebook user id
$user = User::where('facebook_user_id', $facebook_user_id)->first();
// register (if no user)
if (!$user) {
$user = new User;
$user->facebook_id = $facebook_user_id;
$user->save();
}
// login
Auth::loginUsingId($user->id);
return redirect('/');
}
Laravel名媛是如何工作的?
public function redirectToProvider() {
// 1. with this method you redirect user to facebook, twitter... to get permission to use user data
return Socialize::with('github')->redirect();
}
public function handleProviderCallback()
{
// 2. facebook, twitter... redirects user here, where you write code to log in user
$user = Socialize::with('github')->user();
}
以上是 Laravel 5和社会名流,如何在数据库中保存和登录 的全部内容, 来源链接: utcz.com/qa/257468.html