1.3. 支持的协议


Red Hat Single Sign-On 支持 OpenID Connect 和 SAML 协议。

1.3.1. OpenID Connect

OpenID Connect (OIDC)是一个身份验证协议,它是 OAuth 2.0 的扩展。虽然 OAuth 2.0 只是用于构建授权协议的框架,但主要不完整,但 OIDC 是一个功能齐全的身份验证和授权协议。OIDC 还使用 Json Web Token (JWT)标准集合。这些标准定义了身份令牌 JSON 格式,以及以紧凑和 Web 友好的方式对这些数据进行数字签名。

使用 OIDC 时,实际上有两种用例。第一个应用程序要求红帽单点登录服务器为其验证用户。成功登录后,应用将收到一个身份令牌和一个访问令牌身份令牌 包含有关用户的信息,如用户名、电子邮件和其他配置集信息。访问令牌 由域数字签名,包含应用可使用的访问信息(如 user 角色映射),供应用程序用来决定用户被允许访问哪些资源。

第二种用例类型是希望获得远程服务访问权限的客户端。在这种情况下,客户端会要求红帽单点登录获取一个 访问令牌,供该用户用于对其他远程服务调用。Red Hat Single Sign-On 验证用户,然后要求用户同意授予请求它的客户端的访问权限。然后,客户端接收 访问令牌。此 访问令牌 由域数字签名。客户端可以使用此 访问令牌 在远程服务上发出 REST 调用。REST 服务提取 访问令牌,验证令牌的签名,然后根据令牌中的访问信息决定是否处理请求。

1.3.2. SAML 2.0

SAML 2.0 是与 OIDC 类似的规范,但有一个较老且更成熟的。它在 SOAP 中有根根和 WS-* 规格的 plethora,因此它往往会比 OIDC 更详细。SAML 2.0 主要是一种身份验证协议,可以在身份验证服务器和应用之间交换 XML 文档。XML 签名和加密用于验证请求和响应。

在红帽单点登录 SAML 中,提供两种用例:浏览器应用和 REST 调用。

使用 SAML 时,实际上有两种用例。第一个应用程序要求红帽单点登录服务器为其验证用户。成功登录后,应用将收到一个 XML 文档,其中包含一个名为 SAML 断言的内容,用于指定用户的各种属性。该 XML 文档由域数进行数字签名,包含应用可用于决定用户允许对应用程序访问哪些资源(如 user 角色映射)。

第二种用例类型是希望获得远程服务访问权限的客户端。在这种情况下,客户端要求红帽单点登录获得 SAML 断言,以便其用于代表用户调用其他远程服务。

1.3.3. OpenID Connect 与.SAML

在 OpenID Connect 和 SAML 间进行选择不只是使用较新的协议(OIDC)而不是旧的更成熟的协议(SAML)。

在大多数情况下,Red Hat Single Sign-On 建议使用 OIDC。

SAML 往往会比 OIDC 更详细。

除交换数据外,如果您比较的是,您会看到 OIDC 的设计旨在与 web 合作,而 SAML 被重新引入到 web 之上工作。例如,OIDC 更加适合 HTML5/JavaScript 应用程序,因为它比 SAML 更容易在客户端实现。由于令牌采用 JSON 格式,因此它们更容易被 JavaScript 使用。您还会发现一些在 Web 应用程序中实施安全性的附加功能。例如,请查看 iframe 技巧,说明规格用来轻松确定用户是否仍登录或未登录。

SAML 对其使用。当您看到 OIDC 规格的演变时,您会看到它们实现 SAML 多年的功能及更多功能。我们通常看到的是,用户选择 SAML 通过 OIDC,因为它比较成熟,同时还具有保护的现有应用程序。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部