/
dimamir
/
coolify
Обзор
Документация
Войти
/
dimamir
/
coolify
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
app/Http/Controllers/OauthController.php
43 строки
1 KB
Lucas Michot
Remove all ray() calls
28 окт 2024, 15:51
28 окт 2024, 15:51
d557a22
Код
Авторство
О чём код?
<?php namespace App\Http\Controllers; use App\Models\User; use Illuminate\Support\Facades\Auth; use Symfony\Component\HttpKernel\Exception\HttpException; class OauthController extends Controller { public function redirect(string $provider) { $socialite_provider = get_socialite_provider($provider); return $socialite_provider->redirect(); } public function callback(string $provider) { try { $oauthUser = get_socialite_provider($provider)->user(); $user = User::whereEmail($oauthUser->email)->first(); if (! $user) { $settings = instanceSettings(); if (! $settings->is_registration_enabled) { abort(403, 'Registration is disabled'); } $user = User::create([ 'name' => $oauthUser->name, 'email' => $oauthUser->email, ]); } Auth::login($user); return redirect('/'); } catch (\Exception $e) { $errorCode = $e instanceof HttpException ? 'auth.failed' : 'auth.failed.callback'; return redirect()->route('login')->withErrors([__($errorCode)]); } } }