socialiteproviders / zitadel
Zitadel OAuth2 Provider for Laravel Socialite
4.1.0
2024-08-26 06:14 UTC
Requires
- php: ^8.1
- ext-json: *
- socialiteproviders/manager: ^4.4
This package is auto-updated.
Last update: 2024-08-26 21:46:13 UTC
README
composer require socialiteproviders/zitadel
安装与基本用法
请参阅基本安装指南,然后按照以下特定提供者说明进行操作。
将配置添加到config/services.php
'zitadel' => [ 'client_id' => env('ZITADEL_CLIENT_ID'), 'client_secret' => env('ZITADEL_CLIENT_SECRET'), 'redirect' => env('ZITADEL_REDIRECT_URI'), 'base_url' => env('ZITADEL_BASE_URL'), 'organization_id' => env('ZITADEL_ORGANIZATION_ID'), // Optional 'project_id' => env('ZITADEL_PROJECT_ID'), // Optional 'post_logout_redirect_uri' => env('ZITADEL_POST_LOGOUT_REDIRECT_URI') // Optional ],
添加提供者事件监听器
Laravel 11+
在Laravel 11中,默认的EventServiceProvider
提供者已被移除。取而代之,您需要在AppServiceProvider
的boot
方法中使用Event
外观的listen
方法来添加监听器。
- 注意:除非您用自己的提供者覆盖了它们,否则您不需要为内置的Socialite提供者添加任何内容。
Event::listen(function (\SocialiteProviders\Manager\SocialiteWasCalled $event) { $event->extendSocialite('zitadel', \SocialiteProviders\Zitadel\Provider::class); });
Laravel 10或以下
配置包的监听器以监听`SocialiteWasCalled`事件。将事件添加到app/Providers/EventServiceProvider
中的listen[]
数组中。有关详细说明,请参阅基本安装指南。
protected $listen = [ \SocialiteProviders\Manager\SocialiteWasCalled::class => [ // ... other providers \SocialiteProviders\Zitadel\ZitadelExtendSocialite::class.'@handle', ], ];
用法
现在您应该能够像通常使用Socialite一样使用该提供者(假设您已安装外观)。
return Socialite::driver('zitadel')->redirect();
获取登出URL
$idToken = ...; // Retrieve ID token here return redirect()->away(Socialite::driver('zitadel')->getLogoutUrl($idToken));
注意
传递ID令牌是可选的,但建议用于注销特定用户会话。