如何处理laravel社交名流;缺少授权例外情况“;
在Laravel Socialite中,我们被重定向到facebook。但当用户取消(不允许facebook访问公共配置文件)时,它会给出错误丢失授权例外 RequestException.php第107行中的ClientException:客户端错误:GET ` 导致400个错误的请求响应:{“错误”:{“消息”:“丢失” 授权 代码,“类型”:“OAutheException”,“代码”:1,“fbtrace_id”:“Aq9wMwG6ewl”}如何处理laravel社交名流;缺少授权例外情况“;,laravel,facebook-login,laravel-5.2,laravel-socialite,Laravel,Facebook Login,Laravel 5.2,Laravel Socialite,在Laravel Socialite中,我们被重定向到facebook。但当用户取消(不允许facebook访问公共配置文件)时,它会给出错误丢失授权例外 RequestException.php第107行中的ClientException:客户端错误:GET ` 导致400个错误的请求响应:{“错误”:{“消息”:“丢失” 授权 代码,“类型”:“OAutheException”,“代码”:1,“fbtrace_id”:“Aq9wMwG6ewl”} 我不想显示这个,而是想返回我的网站主页,给出
我不想显示这个,而是想返回我的网站主页,给出一条“Facebook登录失败”的消息,如stackoverflow Facebook登录中所示。最后我得到了答案。这是答案
public function handleProviderCallback()
{
try {
$user = Socialite::driver('facebook')->user();
} catch (\Exception $e) {
//Here you can write excepion Handling Logic
}
}
试抓并没有给我带来好的结果。我使用以下方法来捕获此错误。如果您使用的是Laravel Socialite库,它肯定有函数调用
handleProviderCallback
。在这种情况下,请使用此代码
handleProviderCallback
方法
/**
* Obtain the user information from GitHub.
*
* @return Response
*/
public function handleProviderCallback()
{
$error_code = Input::get('error_code');
if ($error_code == 200)
{
return redirect()->route('sign-in')->with('error','You\'ve chose not to grant us permission to connect with your Facebook account.');
}
else
{
$fbUser = Socialite::driver('facebook')->user();
# rest of your code
}
}
这个
错误\u code
来自哪里??
好的,如果你看到错误页面(Laravel黑屏),来检查该页面的URL。它具有以下获取方法:error
,error\u code
,error\u description
,error\u reason
,state
例:http://localhost:8000/login/facebook/callback?error=access_denied&error_code=200&error_description=Permissions+错误和错误\u原因=用户\u被拒绝&state=mIxNjoDCogT2piMV5LX1Imk6GWNzqPUt3JZaqsIo
我能做些什么来优化它
您可以使用基于错误的switch
语句以及错误消息并传递它