nyaabooru/app/Http/Controllers/AuthController.php

39 lines
658 B
PHP

<?php
namespace App\Http\Controllers;
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::updateOrCreate(
[ 'email' => $user->getEmail() ],
[ 'name' => $user->getName() ]
);
if ($authUser)
{
Auth::login($authUser);
return redirect('/');
}
abort(401);
}
public function handleLogout()
{
Auth::logout();
return redirect('/');
}
}