单点登录

单点登录是一个认证过程,在此过程中用户只需输入一个用户标识和密码即可访问多个应用程序。 您可以配置多个应用程序,使其使用 Verify 该功能进行用户身份验证和授权。 用户使用自己的 Verify 账户凭据登录目标应用程序。 Verify通过 进行身份验证后,用户可在已验证的会话内访问其有权使用的任何应用程序。 Verify当会话过期时,用户必须通过...重新登录。

要在 与任何目标应用程序之间 Verify 实现单点登录,它们必须交换配置信息。 您必须在 Verify 中配置该应用程序,并在目标应用程序中配置 Verify

认证和授权

认证是指验证用户的身份,证明该用户是自己所声称的身份。 授权是授予用户对资源的访问权,并定义该用户可以对该资源执行的操作。 Verify 支持通过 SAMLOpenID Connect 进行身份验证和授权。
表 1. 比较摘要
SAML 2.0 OpenID Connect
描述

安全断言标记语言( SAML )是一项提供身份验证和授权功能的开放标准。

此标准提供框架以支持用户身份在服务提供者身份提供者之间的安全通信。

OpenID Connect 是一种开放标准协议,它结合了 OpenID 的身份验证功能和 OAuth2.0 的授权功能。

此标准提供了框架以支持用户身份在信赖方OpenID Connect 提供者之间的安全通信。

用例

企业应用程序的单点登录

企业应用程序和使用者应用程序的单点登录

受支持的客户机类型
  • 基于 Web
  • 基于 Web
  • 移动或本机
  • JavaScript
数据格式 XML JSON
用户信息或认证在其中发送

SAML 断言

此断言包含以下信息:
  • 主体(请求认证的用户)
  • 属性(有关该人员的信息)
  • 发出者(断言发出者)
  • 有关认证事件的其他信息

JSON Web Token(JWT) ,也称为身份令牌

此令牌包含以下信息:
  • 主体(请求认证的用户)
  • 发出者(用户声明的发出者)
  • 认证到期时间
  • 属性或用户声明(关于该人的信息) 1
  • 有关认证事件的其他信息
令牌 访问令牌
  • 标识令牌
  • 访问令牌。 访问令牌可以是不透明字符串或采用 JWT 格式。
  • 刷新令牌
注:OAuth /OIDC令牌的长度并非固定。 在存储访问令牌和刷新令牌时,请支持可变长度。 如果您需要为存储设置最大长度,且不打算在未来使用 JWT 格式的访问令牌,请确保令牌长度至少为 1024 个字符。
组件/角色
  • 用户 - 请求访问的人员。
  • 用户代理 - 用户认证所在位置;例如,Web 浏览器。
  • 服务提供者 - 用户正尝试访问的应用程序。
  • 身份提供者 - 认证用户。
  • 用户 - 请求访问的人员。
  • 用户代理 - 用户认证所在位置;例如,Web 浏览器。
  • 信赖方客户机 - 用户正尝试访问的应用程序。
  • OpenID Connect 提供者 - 认证用户和客户机。

基于 SAML 的单点登录

服务提供者可以是需要认证其用户的任何基于 Web 的应用程序。 它是返回的用户身份信息的使用者。

身份提供者用于管理和断言用户身份。

  1. 用户通过用户代理请求访问服务提供者的受保护资源。
  2. 服务提供者通过将用户代理重定向到身份提供者来发送用户认证请求
  3. 身份提供商会验证用户的身份,并生成一份 SAML 断言 ,以确认该用户的身份。
  4. 身份提供商将其断言封装在发给服务提供商的 SAML 身份验证响应中。

基于 OpenID Connect 的单点登录

OpenID Connect 的依赖方可以是任何需要对其用户进行身份验证的应用程序。 它是返回的用户身份信息的使用者。

OpenID Connect 提供者通过其授权端点来认证用户,通过其令牌端点来认证客户机。
  1. 用户通过用户代理请求访问信赖方的受保护资源。
  2. 信赖方通过将用户代理重定向到 OpenID Connect 提供者来发送用户认证请求
  3. OpenID Connect 提供者验证用户是否具有有效的会话。 否则,OpenID Connect 提供者会提示用户登录并通过授权端点认证用户。
  4. 根据授权类型,身份提供者授权端点可向包含以下任一项的信赖方发送认证响应:
    • 随后,客户端可在请求中传递此授权,并附上依赖方提供的授权码2,将其提交给令牌端点 ,以换取身份令牌、访问令牌或刷新令牌。
    • 标识令牌和访问令牌。

      标识令牌刷新令牌包含用于建立用户会话的用户声明和签名。

    • QR 码、用户代码和 URL。
    • 隐式流。 它直接执行身份验证和授权,并在响应中向客户端返回 ID 令牌和访问令牌。
    注意: OpenID Connect 提供商的隐式流不支持令牌端点。
1 这些声明是关于用户的陈述,如果令牌的使用者能够验证其签名,则这些声明是可信的。 它们旨在为客户应用程序提供已同意的用户详细信息,如电子邮件和名称。
2. 一项中间证书,其中包含授权信息。