Laravel社交名流通过Facebook登录导致对不起,出了点问题

问题描述

我有一个使用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');

我的Facebook应用程序oauth设置

enter image description here

结果如何

enter image description here

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软件包。