如何解决生产服务器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 举报,一经查实,本站将立刻删除。