larsvanteeffelen / silverstripe-google-sso
Silverstripe模块,用于Google SSO
1.2.1
2024-09-29 14:56 UTC
Requires
- league/oauth2-google: ^4.0
- silverstripe/admin: ^2.0
- silverstripe/cms: ^5.0
- silverstripe/framework: ^5.0
- silverstripe/login-forms: ^5.0
This package is not auto-updated.
Last update: 2024-09-29 20:54:04 UTC
README
此SilverStripe模块可以为您的SilverStripe应用程序启用Google单点登录(SSO)。使用此模块,您可以定义一组授权电子邮件地址,并允许用户使用他们的Google帐户进行登录。
特性
- 使用Google OAuth 2.0进行登录
- 限制登录到特定电子邮件地址
- 自动创建和管理员用户登录
- 替代(但基本)登录UI
安装
要安装此模块,您需要将其添加到您的SilverStripe项目中。您可以通过下载模块并将其放置在SilverStripe项目的app
目录中来实现。
或者,您可以通过composer安装它
composer require larsvanteeffelen/silverstripe-google-sso
配置
Google OAuth 2.0设置
要使用Google SSO,您需要创建一个Google OAuth 2.0客户端ID和密钥。请按照以下步骤操作
- 访问Google开发者控制台。
- 创建一个新项目或选择一个现有项目。
- 导航到“凭据”页面。
- 创建一个新的OAuth 2.0客户端ID。
- 将重定向URI设置为以下内容
https://your-domain.com/google-login/callback
将
your-domain.com
替换为您的实际域名。 - 创建客户端ID后,您将获得一个
客户端ID
和一个客户端密钥
。
环境变量
将以下环境变量添加到SilverStripe项目中的.env
文件中
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
ALLOWED_EMAILS="email1@example.com,email2@example.com"
- 将
your-google-client-id
和your-google-client-secret
替换为从Google开发者控制台获取的值。 - 将
email1@example.com,email2@example.com
替换为逗号分隔的授权电子邮件地址列表。
URL路由
此模块注册以下路由
/google-login/login
:开始Google OAuth 2.0登录过程。/google-login/callback
:处理来自Google的OAuth 2.0回调并登录用户(如果授权)。
如果您想创建自己的模板,则可以使用这些路由。但是,您也可以仅使用此包中包含的修改后的模板。
用法
- 访问
/admin
URL并点击“使用Google登录”按钮 - 如果用户已授权(即,他们的电子邮件地址在
ALLOWED_EMAILS
列表中),他们将登录并重定向到SilverStripe管理员面板。 - 如果用户未授权,他们将看到一个错误消息。
许可证
此模块受MIT许可证许可。