错误而获取用户信息与社会登录
问题描述:
我有这个功能的社交登录:错误而获取用户信息与社会登录
public function login()
{
return Socialite::driver('facebook')->redirect();
}
public function callback()
{
return redirect('/')->with('message','Logged in!!');
}
回调函数只重定向到首页,在这里有添加的形式,一首歌:
public function add(Request $request)
{
$newSong = new Song();
$newSong->name=$request->song;
$newSong->added_by=Socialite::driver('facebook')->user()->name;
$nrwSong->save();
}
但是,当我试图从这种社会身份验证添加数据库added_by
领域,它给
InvalidStateExcep在AbstractProvider.php
我在做什么错在这里?我可以看到用户详细信息,如果我dd(Socialite::driver('facebook')->user()); in callback function.
答
您应该在回调中获得用户信息(这是您看到该呼叫正在完成的文档中的唯一位置)。 Facebook正在通过数据(输入)将用户发送回该回调。 您所遇到的state
部分是这些输入的一部分,并保存在会话中。当您拨打Socialite::driver('facebook')->user()
时,它正在查看当前请求中的state
输入,该输入不存在,因为您现在处于不同的请求中,因为您重定向了用户。
This [InvalidStateException in AbstractProvider.php](http://*.com/questions/29629287/laravel-5-geting-invalidstateexception-in-abstractprovider-php)似乎发生了一点点。它上面甚至还有一个[Laracast](https://laracasts.com/discuss/channels/laravel/socialite-invalidstateexception-in-abstractproviderphp)。这些资源是否有用? – WEBjuju