问题描述
我有一个使用Facebook登录的laravel项目。但是经过几天的测试,当我走到那条路线时,它说Sorry,something went wrong.
。我并没有触摸或修改我的代码以及我的Facebook开发者帐户中的应用程序中的代码。有人可以告诉我发生了什么事吗?
这是我的控制人
public function redirectToProvider(){
$facebookScope = [
'pages_manage_posts','pages_read_engagement','instagram_basic','pages_show_list','manage_pages','publish_to_groups','groups_access_member_info',];
return Socialite::driver('facebook')->scopes($facebookScope)->redirect();
}
public function facebook(){
try {
$user = Socialite::driver('facebook')->stateless()->user();
// dd($user);
// $this->getPages($user);
$this->getGroups($user);
} catch (\Exception $e) {
return response()->json($e);
}
}
路线
Route::get('/fb','FacebookController@redirectToProvider');
Route::get('/facebookAuth','FacebookController@facebook');
结果如何
Laravel版本:6.2
社交名流版本:^4.4
更新:如果删除所有作用域,则可以成功登录并获取凭据和令牌。但是为什么作用域不起作用?
解决方法
此错误未指明出了什么问题,因此很难解决,但是您可以查看日志以获取详细的错误报告,这一定会对您有所帮助。日志位于存储目录中。如果您希望laravel为您显示完整的错误,而不是隐秘的“ Whoops”消息,请确保您的.env
APP_ENV=local
位于其中,并且APP_DEBUG=true
或您可以对其进行调整config/app.php
喜欢
'env' => env('APP_ENV','local'),'debug' => env('APP_DEBUG',true),
,
'debug' => env('APP_DEBUG',
并运行php artisan config:cache
命令
实际上您在生产服务器上,这就是为什么错误未显示在生产服务器上的原因。
尝试更改APP_DEBUG=true
文件中的环境变量.env
并检查确切的错误。可能是因为您使用的是Socialite软件包。