From 305374192fe9064d7abfdc4e5373d1b80020c5ed Mon Sep 17 00:00:00 2001 From: Vehikl Date: Thu, 1 May 2025 16:55:43 -0400 Subject: [PATCH] Add `OAuthServiceProvider` --- app/Providers/AppServiceProvider.php | 27 ------------- .../Extensions/OAuthServiceProvider.php | 38 +++++++++++++++++++ bootstrap/providers.php | 1 + 3 files changed, 39 insertions(+), 27 deletions(-) create mode 100644 app/Providers/Extensions/OAuthServiceProvider.php diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 0b3d48032..5c49ab9d3 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -18,13 +18,6 @@ use App\Extensions\Features\JavaVersion; use App\Extensions\Features\MinecraftEula; use App\Extensions\Features\PIDLimit; use App\Extensions\Features\SteamDiskSpace; -use App\Extensions\OAuth\OAuthProvider; -use App\Extensions\OAuth\Schemas\AuthentikSchema; -use App\Extensions\OAuth\Schemas\CommonSchema; -use App\Extensions\OAuth\Schemas\DiscordSchema; -use App\Extensions\OAuth\Schemas\GithubSchema; -use App\Extensions\OAuth\Schemas\GitlabSchema; -use App\Extensions\OAuth\Schemas\SteamSchema; use App\Models; use App\Services\Helpers\SoftwareVersionService; use Dedoc\Scramble\Scramble; @@ -105,26 +98,6 @@ class AppServiceProvider extends ServiceProvider Scramble::registerApi('application', ['api_path' => 'api/application', 'info' => ['version' => '1.0']])->afterOpenApiGenerated($bearerTokens); Scramble::registerApi('client', ['api_path' => 'api/client', 'info' => ['version' => '1.0']])->afterOpenApiGenerated($bearerTokens); - $this->app->singleton(OAuthProvider::class, function ($app) { - $provider = new OAuthProvider(); - // Default OAuth providers included with Socialite - $provider->register(new CommonSchema('facebook', null, 'tabler-brand-facebook-f', '#1877f2')); - $provider->register(new CommonSchema('x', null, 'tabler-brand-x-f', '#1da1f2')); - $provider->register(new CommonSchema('linkedin', null, 'tabler-brand-linkedin-f', '#0a66c2')); - $provider->register(new CommonSchema('google', null, 'tabler-brand-google-f', '#4285f4')); - $provider->register(new GithubSchema()); - $provider->register(new GitlabSchema()); - $provider->register(new CommonSchema('bitbucket', null, 'tabler-brand-bitbucket-f', '#205081')); - $provider->register(new CommonSchema('slack', null, 'tabler-brand-slack', '#6ecadc')); - - // Additional OAuth providers from socialiteproviders.com - $provider->register(new AuthentikSchema()); - $provider->register(new DiscordSchema()); - $provider->register(new SteamSchema()); - - return $provider; - }); - // Default Captcha provider TurnstileProvider::register($app); diff --git a/app/Providers/Extensions/OAuthServiceProvider.php b/app/Providers/Extensions/OAuthServiceProvider.php new file mode 100644 index 000000000..bc53194c2 --- /dev/null +++ b/app/Providers/Extensions/OAuthServiceProvider.php @@ -0,0 +1,38 @@ +app->singleton(OAuthProvider::class, function ($app) { + $provider = new OAuthProvider(); + // Default OAuth providers included with Socialite + $provider->register(new CommonSchema('facebook', null, 'tabler-brand-facebook-f', '#1877f2')); + $provider->register(new CommonSchema('x', null, 'tabler-brand-x-f', '#1da1f2')); + $provider->register(new CommonSchema('linkedin', null, 'tabler-brand-linkedin-f', '#0a66c2')); + $provider->register(new CommonSchema('google', null, 'tabler-brand-google-f', '#4285f4')); + $provider->register(new GithubSchema()); + $provider->register(new GitlabSchema()); + $provider->register(new CommonSchema('bitbucket', null, 'tabler-brand-bitbucket-f', '#205081')); + $provider->register(new CommonSchema('slack', null, 'tabler-brand-slack', '#6ecadc')); + + // Additional OAuth providers from socialiteproviders.com + $provider->register(new AuthentikSchema()); + $provider->register(new DiscordSchema()); + $provider->register(new SteamSchema()); + + return $provider; + }); + } +} diff --git a/bootstrap/providers.php b/bootstrap/providers.php index bd18d9423..d36b7fa6c 100644 --- a/bootstrap/providers.php +++ b/bootstrap/providers.php @@ -8,6 +8,7 @@ return [ App\Providers\Filament\AdminPanelProvider::class, App\Providers\Filament\AppPanelProvider::class, App\Providers\Filament\ServerPanelProvider::class, + App\Providers\Extensions\OAuthServiceProvider::class, App\Providers\RouteServiceProvider::class, SocialiteProviders\Manager\ServiceProvider::class, ];