mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-24 14:14:45 +02:00

* better oauth provider loading * add auth frontend * add configs for all default providers * add more default providers * add env variables to enable oauth providers * small refactor to link/ unlink routes * add oauth tab to (admin) profile * use redirects instead of exceptions * add notification if no oauth user is found * use import in config * remove whmcs provider * replace hardcoded links with `route` * redirect to account page on unlink * remove unnecessary controller and handle linking/ unlinking in action * only show oauth tab if at least one oauth provider is enabled
140 lines
4.6 KiB
PHP
140 lines
4.6 KiB
PHP
<?php
|
|
|
|
use Filament\Support\Colors\Color;
|
|
|
|
return [
|
|
|
|
'lockout' => [
|
|
'time' => 2,
|
|
'attempts' => 3,
|
|
],
|
|
|
|
'guards' => [
|
|
'api' => [
|
|
'driver' => 'token',
|
|
'provider' => 'users',
|
|
],
|
|
],
|
|
|
|
'passwords' => [
|
|
'users' => [
|
|
'provider' => 'users',
|
|
'table' => 'password_resets',
|
|
'expire' => 60,
|
|
'throttle' => 60,
|
|
],
|
|
],
|
|
|
|
'oauth' => [
|
|
// Default providers
|
|
'facebook' => [
|
|
'enabled' => env('OAUTH_FACEBOOK_ENABLED'),
|
|
'icon' => 'tabler-brand-facebook',
|
|
'color' => Color::hex('#1877f2'),
|
|
'service' => [
|
|
'client_id' => env('OAUTH_FACEBOOK_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_FACEBOOK_CLIENT_SECRET'),
|
|
],
|
|
],
|
|
'x' => [
|
|
'enabled' => env('OAUTH_X_ENABLED'),
|
|
'icon' => 'tabler-brand-x',
|
|
'color' => Color::hex('#1da1f2'),
|
|
'service' => [
|
|
'client_id' => env('OAUTH_X_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_X_CLIENT_SECRET'),
|
|
],
|
|
],
|
|
'linkedin' => [
|
|
'enabled' => env('OAUTH_LINKEDIN_ENABLED'),
|
|
'icon' => 'tabler-brand-linkedin',
|
|
'color' => Color::hex('#0a66c2'),
|
|
'service' => [
|
|
'client_id' => env('OAUTH_LINKEDIN_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_LINKEDIN_CLIENT_SECRET'),
|
|
],
|
|
],
|
|
'google' => [
|
|
'enabled' => env('OAUTH_GOOGLE_ENABLED'),
|
|
'icon' => 'tabler-brand-google',
|
|
'color' => Color::hex('#4285f4'),
|
|
'service' => [
|
|
'client_id' => env('OAUTH_GOOGLE_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_GOOGLE_CLIENT_SECRET'),
|
|
],
|
|
],
|
|
'github' => [
|
|
'enabled' => env('OAUTH_GITHUB_ENABLED'),
|
|
'icon' => 'tabler-brand-github',
|
|
'color' => Color::hex('#4078c0'),
|
|
'service' => [
|
|
'client_id' => env('OAUTH_GITHUB_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_GITHUB_CLIENT_SECRET'),
|
|
],
|
|
],
|
|
'gitlab' => [
|
|
'enabled' => env('OAUTH_GITLAB_ENABLED'),
|
|
'icon' => 'tabler-brand-gitlab',
|
|
'color' => Color::hex('#fca326'),
|
|
'service' => [
|
|
'client_id' => env('OAUTH_GITLAB_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_GITLAB_CLIENT_SECRET'),
|
|
],
|
|
],
|
|
'bitbucket' => [
|
|
'enabled' => env('OAUTH_BITBUCKET_ENABLED'),
|
|
'icon' => 'tabler-brand-bitbucket',
|
|
'color' => Color::hex('#205081'),
|
|
'service' => [
|
|
'client_id' => env('OAUTH_BITBUCKET_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_BITBUCKET_CLIENT_SECRET'),
|
|
],
|
|
],
|
|
'slack' => [
|
|
'enabled' => env('OAUTH_SLACK_ENABLED'),
|
|
'icon' => 'tabler-brand-slack',
|
|
'color' => Color::hex('#6ecadc'),
|
|
'service' => [
|
|
'client_id' => env('OAUTH_SLACK_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_SLACK_CLIENT_SECRET'),
|
|
],
|
|
],
|
|
|
|
// Additional providers from socialiteproviders.com
|
|
'authentik' => [
|
|
'enabled' => env('OAUTH_AUTHENTIK_ENABLED'),
|
|
'icon' => null,
|
|
'color' => Color::hex('#fd4b2d'),
|
|
'service' => [
|
|
'base_url' => env('OAUTH_AUTHENTIK_BASE_URL'),
|
|
'client_id' => env('OAUTH_AUTHENTIK_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_AUTHENTIK_CLIENT_SECRET'),
|
|
],
|
|
'provider' => \SocialiteProviders\Authentik\Provider::class,
|
|
],
|
|
'discord' => [
|
|
'enabled' => env('OAUTH_DISCORD_ENABLED'),
|
|
'icon' => 'tabler-brand-discord',
|
|
'color' => Color::hex('#5865F2'),
|
|
'service' => [
|
|
'client_id' => env('OAUTH_DISCORD_CLIENT_ID'),
|
|
'client_secret' => env('OAUTH_DISCORD_CLIENT_SECRET'),
|
|
],
|
|
'provider' => \SocialiteProviders\Discord\Provider::class,
|
|
],
|
|
'steam' => [
|
|
'enabled' => env('OAUTH_STEAM_ENABLED'),
|
|
'icon' => 'tabler-brand-steam',
|
|
'color' => Color::hex('#00adee'),
|
|
'service' => [
|
|
'client_secret' => env('OAUTH_STEAM_CLIENT_SECRET'),
|
|
'allowed_hosts' => [
|
|
env('APP_URL'),
|
|
],
|
|
],
|
|
'provider' => \SocialiteProviders\Steam\Provider::class,
|
|
],
|
|
],
|
|
|
|
];
|