jonnx/laravel-spark-sso

一个简单的利用现有OAuth2服务的SSO解决方案

v0.12.1 2020-12-30 19:30 UTC

This package is auto-updated.

Last update: 2024-08-29 05:06:22 UTC


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