⏳۵۰٪ تخفیف فقط تا پایان جشنواره؛ بعدش همهچیز به قیمت قبل برمیگرده!
مشاهده دورههاسلام
دوستان کسی میتونه راهنمایی کنه؟میخوام احراز هویت با گوگل کنم به ارور زیر بر میخورم
Laravel\Socialite\Two\InvalidStateException
این روتینگ
Route::get('/login_google_press',[\App\Http\Controllers\GoogleAuthController::class,'redirectToProvider'])->name('login_google_press');
Route::get('/google-login',[\App\Http\Controllers\GoogleAuthController::class,'check'])->name('google-login');
کنترلر ها
public function check()
{
$googleUser = Socialite::driver('google');
$googleUser = $googleUser->user();
dd($googleUser);
$existUser = User::where('email', $googleUser->email)->first();
if ($existUser) {
Session::flash('google_login','وارد شدی');
Auth::loginUsingId($existUser->id);
return redirect('login');
} else {
Session::flash('google_login','شما حساب کاربری با این ایمیل ندارید،لطفا به ادمین مراجعه کنید');
return redirect('login');
}
}
}
اینجا ارور میده
//dd(Socialite::driver('google')->user());
سلام
الحمدلله مشکل حل شد...
https://stackoverflow.com/questions/30660847/laravel-socialite-invalidstateexception
داخل هاست اصلی درست کار میکنه...
سلام
احتمال زیاد به علت csrf token هست و تایید نمیشه این رو در هدتون بنويسید
<meta name="csrf-token" content="{{ csrf_token() }}">
و سپس این دو فانکشن رو پیاده سازی کنید
public function redirectToProvider()
{
return Socialite::driver('google')
->with(['state' => csrf_token()])
->redirect();
}
public function check()
{
try {
$googleUser = Socialite::driver('google')->stateless()->user();
} catch (\Exception $e) {
return redirect('/login_google_press');
}
$existUser = User::where('email', $googleUser->email)->first();
if ($existUser) {
Session::flash('google_login','وارد شدی');
Auth::loginUsingId($existUser->id);
return redirect('login');
} else {
Session::flash('google_login','شما حساب کاربری با این ایمیل ندارید،لطفا به ادمین مراجعه کنید');
return redirect('login');
}
}ممنون از توجهتون
متاسفانه این خط اجرا نمیشه باز هم
$googleUser = Socialite::driver('google')->stateless()->user();شاید پاسخ شما همینجا باشد
لطفا یه نفر راهنمایی کنه...
مقدار user رو null بر میگردونه که به این خطا میخوره