From 298adeb146ba3399970ba3499605bb84081e93dc Mon Sep 17 00:00:00 2001 From: Beluzsar Peter Date: Mon, 7 Sep 2026 00:54:41 +0200 Subject: [PATCH] finish basic oauth authentication --- app/Models/User.php | 2 +- .../0001_01_01_000000_create_users_table.php | 2 +- routes/web.php | 34 +++++++++++-------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/app/Models/User.php b/app/Models/User.php index e0dff93..371604d 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -10,7 +10,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; -#[Fillable(['name', 'email', 'oauth_token'])] +#[Fillable(['id', 'name', 'email', 'oauth_token'])] #[Hidden(['remember_token'])] class User extends Authenticatable { diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php index 0e33415..8ea58e4 100644 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -12,7 +12,7 @@ return new class extends Migration public function up(): void { Schema::create('users', function (Blueprint $table) { - $table->id(); + $table->string('id', 64)->primary(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); diff --git a/routes/web.php b/routes/web.php index bac3548..8601863 100644 --- a/routes/web.php +++ b/routes/web.php @@ -8,20 +8,24 @@ Route::get('/', function () { return view('welcome'); }); - -Route::get('/auth/login', function () { - return Socialite::driver('authentik')->redirect(); -}); +Route::prefix('auth')->group(function () { + Route::get('login', function () { + return Socialite::driver('authentik')->redirect(); + }); -Route::get('/auth/redirect', function () { - $user = Socialite::driver('authentik')->user(); - $new_user = User::updateOrCreate([ - 'name' => $user->nickname, - 'email' => $user->email, - 'oauth_token' => $user->token, - ]); - Auth::login($new_user); + Route::get('/redirect', function () { + $user = Socialite::driver('authentik')->user(); + $new_user = User::updateOrCreate([ + 'id' => $user->id, + ], [ + 'id' => $user->id, + 'name' => $user->nickname, + 'email' => $user->email, + 'oauth_token' => $user->token, + ]); + Auth::login($new_user); - return view('welcome', ['user'=>$user->name]); - // $user->token -}); + return redirect('/'); + // $user->token + }); +}); \ No newline at end of file