From 8400e26a3fa68e29747178308c8fcd591f739ffe Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Tue, 18 Aug 2026 14:22:49 +0200 Subject: [PATCH] feat(auth): consolidate OAuth settings into standard authentication page Display all OAuth providers on one settings page, prioritize OpenID Connect, and add its provider icon. --- app/Livewire/SettingsOauth.php | 10 +- public/svgs/oidc.svg | 5 + .../views/livewire/settings-oauth.blade.php | 255 ++++++++---------- tests/Feature/SettingsOauthTest.php | 40 +-- 4 files changed, 144 insertions(+), 166 deletions(-) create mode 100644 public/svgs/oidc.svg diff --git a/app/Livewire/SettingsOauth.php b/app/Livewire/SettingsOauth.php index a3ee2c987..3b24d0cd2 100644 --- a/app/Livewire/SettingsOauth.php +++ b/app/Livewire/SettingsOauth.php @@ -66,11 +66,13 @@ public function mount(?string $provider = null): ?RedirectResponse $this->settings = instanceSettings(); $this->selectedProvider = $provider; $this->disable_registration_when_oauth_enabled = (bool) $this->settings->disable_registration_when_oauth_enabled; - $this->oauth_settings_map = OauthSetting::all()->sortBy('provider')->reduce(function ($carry, $setting) { - $carry[$setting->provider] = $this->oauthSettingToArray($setting); + $this->oauth_settings_map = OauthSetting::all() + ->sortBy(fn (OauthSetting $setting): string => $setting->isOidc() ? '' : $setting->provider) + ->reduce(function ($carry, $setting) { + $carry[$setting->provider] = $this->oauthSettingToArray($setting); - return $carry; - }, []); + return $carry; + }, []); if ($this->selectedProvider !== null && ! array_key_exists($this->selectedProvider, $this->oauth_settings_map)) { abort(404); diff --git a/public/svgs/oidc.svg b/public/svgs/oidc.svg new file mode 100644 index 000000000..9c542584e --- /dev/null +++ b/public/svgs/oidc.svg @@ -0,0 +1,5 @@ + diff --git a/resources/views/livewire/settings-oauth.blade.php b/resources/views/livewire/settings-oauth.blade.php index 1ff75512e..4a394a0b9 100644 --- a/resources/views/livewire/settings-oauth.blade.php +++ b/resources/views/livewire/settings-oauth.blade.php @@ -1,153 +1,122 @@