Ошибка GET запроса при отправке Fetch API к Laravel Socialite
Есть проект на Laravel, где стоит библиотека Socialite Сделал первичную настройку
**services.php**
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => 'http://localhost:63343/api/auth/google/callback'
],
**.env**
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
Также есть контроллер
**SocialController.php**
public function googleRedirect(){
return Socialite::driver('google')->stateless()->redirect();
}
public function loginWithGoogle(){
try{
$user = Socialite::driver('google')->stateless()->user();
$isUser = User::where('google_id',$user->id)->first();
if($isUser){
Auth::login($isUser);
return redirect('/dashboard');
} else {
$createUsr = User::create([
'name' => $user->name,
'email' => $user->email,
'google_id' => $user->id,
'password' => encrypt('user'),
]);
Auth::login($createUsr);
return redirect('/dashboard');
}
} catch (Exception $exception){
dd($exception->getMessage());
}
}
Есть роуты
Route::get('/auth/google',[\App\Http\Controllers\SocialController::class,'googleRedirect'])->name('google.auth');
Route::get('/auth/google/callback',[\App\Http\Controllers\SocialController::class,'loginWithGoogle']);
Когда эти роуты подключаю в Web, то через blade.php всё отлично работает, на авторизацию редирект происходит В чём проблема заключается проблема. Когда эти роуты впихиваю в API и пытаюсь сделать GET запрос, через Fetch Api с другого проекта
fetch('http://127.0.0.1:8000/api/auth/google')
происходит ошибка CORS
Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на ССЫЛКА. (Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»). Код состояния: 200.
Не понимаю, почему при обращении к API появляется ошибка, хотя в Web её нет. Обыскал уже много всего в интернете:
Предлагают отключать CORS (хотя я понимаю, что это неправильно)
Дописать разные заголовки к запросу fetch
Добавить в laravel Fruitcake/Cors
Надеюсь, кто-то встречался с этой проблемой и знает решение, потому что запрос простой и вроде не требует каких-то особенных заголовков (по моему мнению). Благодарю заранее за любую помощь