feat(auth): add Zitadel OAuth Provider (#5490)
This commit is contained in:
@@ -14,6 +14,7 @@ use SocialiteProviders\Discord\DiscordExtendSocialite;
|
|||||||
use SocialiteProviders\Google\GoogleExtendSocialite;
|
use SocialiteProviders\Google\GoogleExtendSocialite;
|
||||||
use SocialiteProviders\Infomaniak\InfomaniakExtendSocialite;
|
use SocialiteProviders\Infomaniak\InfomaniakExtendSocialite;
|
||||||
use SocialiteProviders\Manager\SocialiteWasCalled;
|
use SocialiteProviders\Manager\SocialiteWasCalled;
|
||||||
|
use SocialiteProviders\Zitadel\ZitadelExtendSocialite;
|
||||||
|
|
||||||
class EventServiceProvider extends ServiceProvider
|
class EventServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
@@ -31,6 +32,7 @@ class EventServiceProvider extends ServiceProvider
|
|||||||
DiscordExtendSocialite::class.'@handle',
|
DiscordExtendSocialite::class.'@handle',
|
||||||
GoogleExtendSocialite::class.'@handle',
|
GoogleExtendSocialite::class.'@handle',
|
||||||
InfomaniakExtendSocialite::class.'@handle',
|
InfomaniakExtendSocialite::class.'@handle',
|
||||||
|
ZitadelExtendSocialite::class.'@handle',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@@ -33,6 +33,17 @@ function get_socialite_provider(string $provider)
|
|||||||
return Socialite::driver($provider)->setConfig($authentik_clerk_config);
|
return Socialite::driver($provider)->setConfig($authentik_clerk_config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($provider == 'zitadel') {
|
||||||
|
$zitadel_config = new \SocialiteProviders\Manager\Config(
|
||||||
|
$oauth_setting->client_id,
|
||||||
|
$oauth_setting->client_secret,
|
||||||
|
$oauth_setting->redirect_uri,
|
||||||
|
['base_url' => $oauth_setting->base_url],
|
||||||
|
);
|
||||||
|
|
||||||
|
return Socialite::driver('zitadel')->setConfig($zitadel_config);
|
||||||
|
}
|
||||||
|
|
||||||
if ($provider == 'google') {
|
if ($provider == 'google') {
|
||||||
$google_config = new \SocialiteProviders\Manager\Config(
|
$google_config = new \SocialiteProviders\Manager\Config(
|
||||||
$oauth_setting->client_id,
|
$oauth_setting->client_id,
|
||||||
|
@@ -44,6 +44,7 @@
|
|||||||
"socialiteproviders/google": "^4.1",
|
"socialiteproviders/google": "^4.1",
|
||||||
"socialiteproviders/infomaniak": "^4.0",
|
"socialiteproviders/infomaniak": "^4.0",
|
||||||
"socialiteproviders/microsoft-azure": "^5.2",
|
"socialiteproviders/microsoft-azure": "^5.2",
|
||||||
|
"socialiteproviders/zitadel": "^4.1",
|
||||||
"spatie/laravel-activitylog": "^4.10.1",
|
"spatie/laravel-activitylog": "^4.10.1",
|
||||||
"spatie/laravel-data": "^4.13.1",
|
"spatie/laravel-data": "^4.13.1",
|
||||||
"spatie/laravel-ray": "^1.39.1",
|
"spatie/laravel-ray": "^1.39.1",
|
||||||
|
@@ -60,4 +60,11 @@ return [
|
|||||||
'tenant' => env('GOOGLE_TENANT'),
|
'tenant' => env('GOOGLE_TENANT'),
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'zitadel' => [
|
||||||
|
'client_id' => env('ZITADEL_CLIENT_ID'),
|
||||||
|
'client_secret' => env('ZITADEL_CLIENT_SECRET'),
|
||||||
|
'redirect' => env('ZITADEL_REDIRECT_URI'),
|
||||||
|
'base_url' => env('ZITADEL_BASE_URL'),
|
||||||
|
]
|
||||||
|
|
||||||
];
|
];
|
||||||
|
@@ -24,6 +24,7 @@ class OauthSettingSeeder extends Seeder
|
|||||||
'google',
|
'google',
|
||||||
'authentik',
|
'authentik',
|
||||||
'infomaniak',
|
'infomaniak',
|
||||||
|
'zitadel',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$isOauthSeeded = OauthSetting::count() > 0;
|
$isOauthSeeded = OauthSetting::count() > 0;
|
||||||
|
@@ -8,6 +8,7 @@
|
|||||||
"auth.login.gitlab": "Mit GitLab anmelden",
|
"auth.login.gitlab": "Mit GitLab anmelden",
|
||||||
"auth.login.google": "Mit Google anmelden",
|
"auth.login.google": "Mit Google anmelden",
|
||||||
"auth.login.infomaniak": "Mit Infomaniak anmelden",
|
"auth.login.infomaniak": "Mit Infomaniak anmelden",
|
||||||
|
"auth.login.zitadel": "Mit Zitadel anmelden",
|
||||||
"auth.already_registered": "Bereits registriert?",
|
"auth.already_registered": "Bereits registriert?",
|
||||||
"auth.confirm_password": "Passwort bestätigen",
|
"auth.confirm_password": "Passwort bestätigen",
|
||||||
"auth.forgot_password": "Passwort vergessen",
|
"auth.forgot_password": "Passwort vergessen",
|
||||||
|
@@ -9,6 +9,7 @@
|
|||||||
"auth.login.gitlab": "Login with Gitlab",
|
"auth.login.gitlab": "Login with Gitlab",
|
||||||
"auth.login.google": "Login with Google",
|
"auth.login.google": "Login with Google",
|
||||||
"auth.login.infomaniak": "Login with Infomaniak",
|
"auth.login.infomaniak": "Login with Infomaniak",
|
||||||
|
"auth.login.zitadel": "Login with Zitadel",
|
||||||
"auth.already_registered": "Already registered?",
|
"auth.already_registered": "Already registered?",
|
||||||
"auth.confirm_password": "Confirm password",
|
"auth.confirm_password": "Confirm password",
|
||||||
"auth.forgot_password": "Forgot password",
|
"auth.forgot_password": "Forgot password",
|
||||||
|
@@ -37,7 +37,7 @@
|
|||||||
helper="Optional parameter that supplies a hosted domain (HD) to Google, which<br>triggers a login hint to be displayed on the OAuth screen with this domain.<br><br><a class='underline dark:text-warning text-coollabs' href='https://developers.google.com/identity/openid-connect/openid-connect#hd-param' target='_blank'>Google Documentation</a>"
|
helper="Optional parameter that supplies a hosted domain (HD) to Google, which<br>triggers a login hint to be displayed on the OAuth screen with this domain.<br><br><a class='underline dark:text-warning text-coollabs' href='https://developers.google.com/identity/openid-connect/openid-connect#hd-param' target='_blank'>Google Documentation</a>"
|
||||||
label="Tenant" />
|
label="Tenant" />
|
||||||
@endif
|
@endif
|
||||||
@if ($oauth_setting->provider == 'authentik' || $oauth_setting->provider == 'clerk')
|
@if ($oauth_setting->provider == 'authentik' || $oauth_setting->provider == 'clerk' || $oauth_setting->provider == 'zitadel')
|
||||||
<x-forms.input id="oauth_settings_map.{{ $oauth_setting->provider }}.base_url"
|
<x-forms.input id="oauth_settings_map.{{ $oauth_setting->provider }}.base_url"
|
||||||
label="Base URL" />
|
label="Base URL" />
|
||||||
@endif
|
@endif
|
||||||
|
Reference in New Issue
Block a user