Laravel Socialize给出未定义的access_token

时间:2016-01-26 07:52:51

标签: oauth laravel-5

我使用Laravel 5.0跟随社交网站上的laracasts教程,我遇到了以下错误。它在登录GitHub并被重定向后发生。我不知道Socialize如何在后端工作。

ErrorException in AbstractProvider.php line 257:

Undefined index: access_token in AbstractProvider.php line 257
at HandleExceptions->handleError('8', 'Undefined index: access_token',
'/home/vagrant/blog/vendor/laravel/socialite/src/Two/AbstractProvider.php', 
'257', array('body' => object(Stream))) in AbstractProvider.php line 257
at AbstractProvider->parseAccessToken(object(Stream)) in 
AbstractProvider.php line 232
at AbstractProvider->getAccessToken('d21bd355569b6249cfd3') in 
AbstractProvider.php line 195

1 个答案:

答案 0 :(得分:0)

谷歌搜索后我没有找到任何东西,但我最终能够找到错误被抛出的行。我打印了身体,发现了一个错误。

protected function parseAccessToken($body)
{
    dd(json_decode($body, true));
    return json_decode($body, true)['access_token'];
}

我的错误是:

"error" => "incorrect_client_credentials"
"error_description" => "The client_id and/or client_secret passed are incorrect."
"error_uri" => "https://developer.github.com/v3/oauth/#incorrect-client-credentials"

我发现在config/services.php文件中我输错了env('GITHUB_CLIENT_SECRET');所以它返回一个空字符串,这就是为什么不匹配的原因。任何错误都会发生同样的情况。只需执行dd(json_decode($body,true));即可查看错误。