我正在使用Laravel 5.6和socialite 3.0。我已经从开发者控制台创建了Google API,并启用了Gmail API和Google Plus。请检查屏幕截图。
此外,我必须在.env
文件中进行设置。
Google回调返回403错误代码
我已经创建了类和方法
public function redirect($provieder)
{
return Socialite::driver($provieder)->redirect();
}
public function callback($provieder)
{
try{
$user = Socialite::driver($provieder)->stateless()->user();
if (isset($user)) {
$social = $this->createUser($user,$provieder);
return redirect()->route('profile.fill','location');
}
return redirect()->route('user.signup');
}catch (Exception $e) {
return redirect('auth/google');
}
}
我已经创建了路由文件
Route::get('auth/{provider}', 'OAuth\SocialController@redirect');
Route::get('auth/{provider}/callback', 'OAuth\SocialController@callback');
答案 0 :(得分:0)
Google+ API登录已被完全弃用,并将于2019年3月7日关闭。
在此处阅读:Google+ API Shutdown
答案 1 :(得分:0)
此错误表明服务器可以理解来自客户端的请求,但是它拒绝继续对该请求执行进一步的操作。当服务器被配置为出于某种原因拒绝客户的请求时,通常会显示该信息。
403错误页面背后的原因
如果您输入的网址正确,则可能是以下三个原因之一。
1)没有索引页
2)空的html目录
3)权限配置错误或所有权问题。
上面列出的是403禁止错误的最常见原因。
检查link以解决问题
答案 2 :(得分:0)
您必须从Google Developers Console中激活 Google+ API 。
这确实是HTTP 403禁止响应。
我了解了更多有关“ ClientException”的信息……它由Guzzle的HTTP客户端抛出,它包含一些有用的属性,主要是request
和response
:
try {
$user = Socialite::driver('google')->user();
}
catch (GuzzleHttp\Exception\ClientException $e) {
dd($e->response);
}