سلام
دوستان کسی میتونه راهنمایی کنه؟میخوام احراز هویت با گوگل کنم به ارور زیر بر میخورم
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();
سلام
الحمدلله مشکل حل شد...
https://stackoverflow.com/questions/30660847/laravel-socialite-invalidstateexception
داخل هاست اصلی درست کار میکنه...
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟