跳到主要内容

设置 Google Workspace 单点登录 (SSO)

只需极少的配置工作,此连接器即可与 Microsoft Entra ID 集成,实现企业单点登录 (SSO)。

提示:

有关 SSO 和如何在 Logto 中配置 SSO 的更多信息,请查看 企业单点登录 (SAML & OIDC) 文档以开始使用。

步骤 1:在 Google Cloud Platform 上创建新项目

在你可以使用 Google Workspace 作为认证 (Authentication) 提供商之前,你必须在 Google API Console 中设置一个项目以获取 OAuth 2.0 凭证。如果你已经有一个项目,可以跳过这一步。否则,请在你的 Google 组织下创建一个新项目。

为了创建新的 OIDC 凭证,你需要为你的应用程序配置用户授权页面 (Consent screen)。

  1. 访问 OAuth 用户授权页面 (Consent screen) 页面并选择 Internal 用户类型。这将使 OAuth 应用程序仅对你的组织内的用户可用。
Google Workspace 用户授权页面 (Consent screen) 用户类型
  1. 按照页面上的说明填写 Consent Screen 设置。你需要提供以下最少信息:
  • Application name: 你的应用程序名称。它将显示在用户授权页面 (Consent screen) 上。
  • Support email: 你的应用程序的支持电子邮件。它将显示在用户授权页面 (Consent screen) 上。
Google Workspace 用户授权页面 (Consent screen) 设置
  1. 为你的应用程序设置 Scopes。为了正确检索用户的身份信息和电子邮件地址,Logto SSO 连接器需要从 IdP 授予以下权限 (Scopes):
Google Workspace 用户授权页面 (Consent screen) 权限 (Scopes)
  • openid: 此权限 (Scope) 是 OIDC 认证 (Authentication) 所必需的。它用于检索 ID 令牌 (ID token) 并访问 IdP 的 userInfo 端点。
  • profile: 此权限 (Scope) 是访问用户基本个人信息所必需的。
  • email: 此权限 (Scope) 是访问用户电子邮件地址所必需的。

点击 Save 按钮以保存用户授权页面 (Consent screen) 设置。

步骤 3:创建新的 OAuth 凭证

导航到 Credentials 页面并点击 Create Credentials 按钮。从下拉菜单中选择 OAuth client ID 选项,为你的应用程序创建一个新的 OAuth 凭证。

Google Workspace create credentials

继续设置 OAuth 凭证,填写以下信息:

Google Workspace credentials config
  1. 选择 Web application 作为应用程序类型。
  2. 填写你的客户端应用程序的 Name,例如 Logto SSO Connector。这将帮助你在将来识别这些凭证。
  3. Authorized redirect URIs 中填写 Logto 回调 URI。这是 Google 在成功认证 (Authentication) 后将用户的浏览器重定向到的 URI。当用户成功通过 IdP 认证 (Authentication) 后,IdP 会将用户的浏览器重定向回这个指定的 URI,并附带一个授权 (Authorization) 代码。Logto 将根据从此 URI 接收到的授权 (Authorization) 代码完成认证 (Authentication) 过程。
  4. Authorized JavaScript origins 中填写 Logto 回调 URI 的来源。这确保只有你的 Logto 应用程序可以向 Google OAuth 服务器发送请求。
  5. 点击 Create 按钮以创建 OAuth 凭证。

步骤 4:使用客户端凭证设置 Logto 连接器

成功创建 OAuth 凭证后,你将收到一个包含客户端 ID 和客户端密钥的提示窗口。

Google Workspace create credentials

复制 Client IDClient secret,并填写到 Logto 的 SSO 连接器 Connection 选项卡中的相应字段。

现在你已经在 Logto 上成功配置了一个 Google Workspace SSO 连接器。

步骤 5:附加权限 (Scopes)(可选)

Scope(权限)定义了你的应用向用户请求的权限,并控制你的应用可以从他们的 Google Workspace 账户访问哪些数据。请求 Google 权限需要在双方进行配置:

在 Google Cloud Console 中:

  1. 导航到 APIs & Services > OAuth consent screen > Scopes
  2. 点击 Add or Remove Scopes,并仅选择你的应用所需的 scope(权限):
    • 认证 (Authentication)(必需):
      • https://www.googleapis.com/auth/userinfo.email
      • https://www.googleapis.com/auth/userinfo.profile
      • openid
    • API 访问(可选):添加你的应用所需的其他 scope(权限)(例如 Drive、Calendar、YouTube)。浏览 Google API Library 以查找可用服务。如果你的应用需要访问除基础权限外的 Google API,请先在 Google API Library 中启用你的应用将使用的特定 API(如 Google Drive API、Gmail API、Calendar API)。
  3. 点击 Update 确认选择。
  4. 点击 Save and Continue 应用更改。

在 Logto Google Workspace 连接器 (Connector) 中:

  1. Logto 会自动包含 openidprofileemail scope(权限),以获取基础用户身份信息。如果你只需要基础用户信息,可以将 Scopes 字段留空。
  2. Scopes 字段中添加额外的 scope(权限)(用空格分隔),以从 Google 请求更多数据。请使用完整的 scope URL,例如:https://www.googleapis.com/auth/calendar.readonly
提示:

如果你的应用请求这些 scope(权限)以访问 Google API 并执行操作,请确保在 Logto Google 连接器 (Connector) 中启用 Store tokens for persistent API access。详情请参见下一节。

步骤 6:存储令牌以访问 Google API(可选)

如果你想访问 Google APIs 并在用户授权 (Authorization) 下执行操作,Logto 需要获取特定的 API 权限 (Scopes) 并存储令牌。

  1. 在你的 Google Cloud Console OAuth 用户授权页面 (Consent screen) 配置和 Logto Google 连接器中添加所需的权限 (Scopes)。
  2. 在 Logto Google 连接器中启用 为持久 API 访问存储令牌。Logto 会将 Google 访问令牌 (Access token) 和刷新令牌 (Refresh token) 安全地存储在 Secret Vault 中。
  3. 为确保返回刷新令牌 (Refresh token),请在 Logto Google 连接器中启用 离线访问 (Offline Access)
注意:

你不需要在 Logto 的 Scope 字段中添加 offline_access —— 这样做可能会导致错误。当启用离线访问 (Offline Access) 时,Google 会自动使用 access_type=offline

步骤 7:设置邮箱域并启用 SSO 连接器

在 Logto 的连接器 SSO 体验 标签页中填写你组织的 email domains。这将为这些用户启用 SSO 连接器作为认证 (Authentication) 方法。

拥有指定域名邮箱地址的用户将被重定向,仅能使用你的 SSO 连接器作为他们唯一的认证 (Authentication) 方法。

关于 Google Workspace SSO 连接器的更多信息,请参阅 Google OpenID Connector