通知

Duet AI 现已更名为 Google Workspace 专用 Gemini。了解详情

基于 SAML 的单点登录技术概览

借助单点登录 (SSO),用户可以访问多个应用,而无需为各个应用输入用户名和密码。安全断言标记语言 (SAML) 是一种 XML 标准,可让安全网络网域交换用户身份验证和授权数据。

服务提供商和身份提供方的角色

Google 提供了基于 SAML 的单点登录服务,合作伙伴公司可以通过它对尝试访问安全内容的托管用户进行授权和身份验证。Google 以在线服务提供商的身份提供 Google 日历和 Gmail 等服务。Google 合作伙伴则作为在线身份提供方,为 Google 托管的 Web 应用控制用户名、密码及其他用来对用户进行识别、身份验证和授权的信息。

许多开源商业身份提供方可帮助您通过 Google 实现单点登录。

桌面客户端仍需要登录

请务必注意,单点登录解决方案仅适用于 Web 应用。您可以允许用户通过桌面客户端访问 Google 服务。举例来说,要使用 Outlook 通过 POP 访问 Gmail,您需要为用户提供可用的密码,并使用 Admin SDK 的 Directory API 将这些密码同步到您的内部用户数据库。同步密码时,您应了解如何使用管理控制台登录网址对用户进行身份验证。

了解合作伙伴运营的基于 SAML 的单点登录

图 1 说明了用户通过合作伙伴运营的基于 SAML 的单点登录服务登录 Google 应用(例如 Gmail)的过程。图片之后的编号列表详细地说明了各个步骤。

重要事项:实施此流程前,合作伙伴必须向 Google 提供其单点登录服务的网址以及 Google 用来验证 SAML 响应的公钥。

图 1 :此图展示了通过基于 SAML 的单点登录服务登录 Google 的过程。

此图片说明了以下步骤。

  1. 用户尝试访问托管的 Google 应用,例如 Gmail、Google 日历或其他 Google 服务。
  2. Google 生成 SAML 身份验证请求。系统会对此 SAML 请求进行编码,并嵌入到合作伙伴的单点登录服务网址中。单点登录网址中还嵌入了 RelayState 参数,该参数包含用户尝试访问的 Google 应用经过编码的网址。该 RelayState 参数作为不透明标识符,将直接传回而不经过任何修改或检查。
  3. Google 将重定向网址发送到用户的浏览器。重定向网址包含应向合作伙伴单点登录服务提交的经过编码的 SAML 身份验证请求。
  4. 浏览器会重定向到单点登录网址。
  5. 合作伙伴对该 SAML 请求进行解码,并提取 Google 的 ACS(断言消费者服务)网址和用户的目标网址(RelayState 参数),
  6. 然后对用户进行身份验证。合作伙伴可能会要求提供有效登录凭据或检查有无有效的会话 Cookie,以验证用户身份。
  7. 合作伙伴生成一个 SAML 响应,其中包含经过身份验证的用户的用户名。按照 SAML v2.0 规范,系统会使用合作伙伴的 DSA/RSA 公钥和私钥对此响应进行数字签名。
  8. 合作伙伴对 SAML 响应和 RelayState 参数进行编码,并将该信息返回到用户的浏览器。合作伙伴提供了一种机制,以便浏览器可以将该信息转发到 Google ACS。例如,合作伙伴可能会在表单中嵌入 SAML 响应和目标网址并提供一个按钮,用户可点击该按钮向 Google 提交此表单。合作伙伴还可能在页面中加入 JavaScript,以便向 Google 提交表单。
  9. 浏览器向 ACS 网址发送响应。Google ACS 使用合作伙伴的公钥验证 SAML 响应。如果响应成功通过验证,则 ACS 会将用户重定向到目标网址。
  10. 用户成功登录 Google 应用。

相关主题

SAML v2.0 规范

该内容对您有帮助吗?

您有什么改进建议?
搜索
清除搜索内容
关闭搜索框
主菜单
3663376055806364087
true
搜索支持中心
true
true
true
true
true
73010
false
false