微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

生产服务器Laravel 7上的Google Socialite问题

如何解决生产服务器Laravel 7上的Google Socialite问题

我不知道该怎么办才能解决这个问题。我已经研究和测试了各种解决方案3天。我需要能够帮助我的人呼吁团结。

在localhost中,它对我来说很完美。但是在生产中,我无法获得解决方案的结果。我将逐步详细介绍,看看有头脑的人是否发现了错误的地方

路线

Route::get('login/{driver}',[LoginController::class,'redirectToProvider']);
Route::get('login/{driver}/callback','handleProviderCallback']);

LoginController

//Socialite
public function redirectToProvider($driver)
{
    $drivers = ['google'];

    if(in_array($driver,$drivers)){

        return Socialite::driver($driver)->redirect();

    }else{
        return redirect()->route('login')->with('info',$driver . ' no es una aplicación valida para poder loguearse');
    }

}

public function handleProviderCallback(Request $request,$driver)
{
    if($request->get('error')){
        return redirect()->route('login')->with('info','Ocurrió un error,vuelva a intentarlo más tarde.');
    }

    $userSocialite = Socialite::driver($driver)->user();

    $social_profile = SocialProfile::where('social_id',$userSocialite->getId())
                                   ->where('social_name',$driver)->first();

    if(!$social_profile){

        $user = User::where('email',$userSocialite->getEmail())->first();
        if(!$user){
            $user = User::create([
                'name' => $userSocialite->user['given_name'],'apellido' => $userSocialite->user['family_name'],'email' => $userSocialite->getEmail(),'permiso' => 'USUARIO','tipo_usuario' => 'PARTIculaR'
            ]);
        }

        SocialProfile::create([
            'user_id' => $user->id,'social_id' => $userSocialite->getId(),'social_name' => $driver,'social_avatar' => $userSocialite->getAvatar()
        ]);

    }

    auth()->login($social_profile->user);

    return redirect()->route('panel');

    /* dd($user->user['given_name']); */

    // $user->token;
}

Session.PHP

'domain' => env('SESSION_DOMAIN','domain.com/'),

错误

/home/brooklyn/Sistema/app/Http/Controllers/Auth/LoginController.PHP(82): Laravel \ Socialite \ Two \ AbstractProvider-> user()

{“ exception”:“ [对象] (Laravel \ Socialite \ Two \ InvalidStateException(代码:0):在 /home/brooklyn/Sistema/vendor/laravel/socialite/src/Two/AbstractProvider.PHP:209)

删除了服务器,并在另一个Apache服务器帐户上重新创建了所有Google Auth凭据,但我遇到了同样的问题。我尝试了各种解决方案,但找不到解决方案。 请帮帮我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。