nyaabooru/app/Http/Controllers/AuthController.php
Jaiden f60ae41bf6
Some checks failed
Docker / build (push) Has been cancelled
better image uploading & user roles
2025-08-09 23:01:27 -04:00

50 lines
923 B
PHP

<?php
namespace App\Http\Controllers;
use App\Enums\RolesEnum;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Laravel\Socialite\Facades\Socialite;
class AuthController extends Controller
{
public function handleRedirect()
{
return Socialite::driver('authentik')->redirect();
}
public function handleCallback()
{
$user = Socialite::driver('authentik')->user();
$authUser = User::where('email', $user->getEmail())->first();
if ($authUser == null)
{
$authUser = User::create([
'email' => $user->getEmail(),
'name' => $user->getName(),
]);
// $authUser->assignRole(RolesEnum::MEMBER);
}
if ($authUser)
{
if ($authUser->name == '')
{
$authUser->name = $user->getName();
$authUser->save();
}
Auth::login($authUser);
return redirect('/');
}
abort(401);
}
public function handleLogout()
{
Auth::logout();
return redirect('/');
}
}