本文介绍了Laravel 5 在 AbstractProvider.php 中获取 InvalidStateException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 Socialize 在 laravel 5 中使用 Facebook 登录.
I am trying to use login with facebook in laravel 5 using Socialize.
这是我的路由文件代码.
Here is my route file code.
Route::get('fb', function ($facebook = "facebook")
{
$provider = Socialize::with($facebook);
if (Input::has('code'))
{
$user = $provider->user();
return var_dump($user);
} else {
return $provider->scopes(['public_profile','user_friends'])->redirect();
}
});
登录成功,我得到了代码,但是在 get $provider->user()
的时候我得到了错误.
login is success and I get the code but time of get $provider->user()
I get the error.
AbstractProvider.php 第 161 行中的 InvalidStateException
推荐答案
我得到了临时解决方案.
I got temporary solution for that.
public function user()
{
//if ($this->hasInvalidState()) {
// throw new InvalidStateException;
//}
$user = $this->mapUserToObject($this->getUserByToken(
$token = $this->getAccessToken($this->getCode())
));
return $user->setToken($token);
}
评论 $this->hasInvalidState()
如果 AbstractProvider.php 文件中的条件,它工作正常.
comment the $this->hasInvalidState()
if condition in AbstractProvider.php file and it's work fine.
这篇关于Laravel 5 在 AbstractProvider.php 中获取 InvalidStateException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!