jonnx / laravel-spark-sso
一个简单的利用现有OAuth2服务的SSO解决方案
v0.12.1
2020-12-30 19:30 UTC
Requires
- laravel/socialite: ^4.0|^5.0
README
此包管理了与Google的OAuth握手,以便人们可以更快地加入您的Laravel Spark项目。团队可以配置他们的SSO域,如果他们使用GMail作为他们的商业电子邮件,那么来自该公司的每个新注册用户都将自动添加到团队中。这是一个减少入职障碍和消除人们需要记住另一个密码的好方法。
一旦安装和配置完成,用户可以通过以下URL加入和登录: https://www.your-awesome-project.com/login/sso/google
入门指南
安装包
这将安装包及其依赖项,包括用于处理与多个提供商的OAuth握手操作的laravel/socialite
库。
composer require jonnx/laravel-spark-sso
注册包服务提供者
为了实现这一点,更新您的config/app.php
文件,添加以下行
'providers' => [
...
/**
* Package Service Providers...
*/
Jonnx\LaravelSparkSSO\LaravelSparkSSOServiceProvider::class,
Laravel\Socialite\SocialiteServiceProvider::class,
...
]
同时添加以下别名
'aliases' => [
...
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
'User' => Namespace\For\Models\User::class,
'Team' => Namespace\For\Models\Team::class,
]
更新配置
为了让Google执行握手,您需要从他们的开发者控制台获取客户端和密钥。一旦您有了这些密钥,请将以下行添加到config/services.php
文件中
'google' => [
'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('APP_URL') . '/login/sso/google/callback',
],
为您的团队所有者添加SSO设置链接
您的团队所有者可以在https://www.your-domain.com/settings/teams/{id}/sso
独立编辑他们的SSO设置。为了让他们找到该URL,您应该在项目中添加一个链接。我建议在Laravel Spark设置中添加一个链接到现有的会员页面,或者在user.blade.php
中的现有下拉菜单中添加它。
在未来的版本中,我希望能够自动注入此链接,但现在这取决于开发者。
自定义SSO设置屏幕
有一个视图文件,您的团队所有者可以使用它来配置他们的SSO电子邮件域。如果您想更改此模板,只需发布供应商文件,然后在views/vendor/laravel-spark-sso
中编辑文件。
php artisan vendor:publish