larsvanteeffelen/silverstripe-google-sso

Silverstripe模块,用于Google SSO

安装: 15

依赖项: 0

建议者: 0

安全: 0

星星: 0

分支: 0

类型:silverstripe-vendormodule

1.2.1 2024-09-29 14:56 UTC

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和密钥。请按照以下步骤操作

  1. 访问Google开发者控制台
  2. 创建一个新项目或选择一个现有项目。
  3. 导航到“凭据”页面。
  4. 创建一个新的OAuth 2.0客户端ID。
  5. 将重定向URI设置为以下内容
    https://your-domain.com/google-login/callback
    

    your-domain.com替换为您的实际域名。

  6. 创建客户端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-idyour-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回调并登录用户(如果授权)。

如果您想创建自己的模板,则可以使用这些路由。但是,您也可以仅使用此包中包含的修改后的模板。

用法

  1. 访问/admin URL并点击“使用Google登录”按钮
  2. 如果用户已授权(即,他们的电子邮件地址在ALLOWED_EMAILS列表中),他们将登录并重定向到SilverStripe管理员面板。
  3. 如果用户未授权,他们将看到一个错误消息。

许可证

此模块受MIT许可证许可。