第 15 章 OpenID Connect 集成


HawtIO 已经支持 Keycloak 作为 OpenID 提供程序。但是,Keycloak 已宣布 HawtIO 使用的配置方法已弃用。因为 OpenID Connect Core 1.0 是分布式身份验证的广泛规格和标准方法(基于 OAuth 2),所以HawtIO 4 现在支持通用的 OpenID 身份验证。

15.1. 构建块和术语

要了解 HawtIO 如何使用 OpenID Connect 和 OAuth2,值得重新调用一些基本概念。基于 OpenID Connect (基于 OAuth2构建)的分布式身份验证有 3 个主要方:

  1. 资源服务器

    托管受保护资源的服务器组件,其中根据访问令牌限制或授予其访问。通常,这个服务器通过 REST API 访问,且不会自行提供用户界面。

  2. 客户端

    应用程序(通常使用用户界面),它们代表用户(被视为资源所有者)访问资源服务器。若要访问资源服务器,客户端必须先获取访问令牌。

    在 OpenID Connect 规格中,客户端被命名为依赖方(RP)。

  3. 授权服务器

    协调客户端和资源服务器之间通信的服务器。客户端要求授权服务器验证用户(资源所有者),如果身份验证成功,则会为客户端发出访问令牌来访问资源服务器。

    在 OpenID Connect 规格中,授权服务器名为 OpenID Provider (OP)。

OAuth2 和 OpenID Connect 的主要目标,它允许应用在没有使用用户凭证和切换到令牌交换的情况下访问 API。知道 HawtIO 如何映射到上述角色非常重要:

  • HawtIO 客户端应用是 OAuth2 客户端。用户与 HawtIO Web 应用程序交互,后者与 HawtIo Server (backend)与 Jolokia 代理通信。在访问 Jolokia 代理前,ShawtIO 需要 OpenID Connect 访问令牌。为此,ShawtIO 客户端通过将用户重定向到授权服务器来启动 OpenID Connect 身份验证进程。
  • HawtIO 服务器应用程序是一个 JakartaEE 应用程序,公开 Jolokia Agent API,它根据访问令牌的内容授权用户操作。使用 OAuth2 术语时,hawtIO 服务器是一个资源服务器。

以下 UML 图表显示了大图。

最重要的方面是: HawtIO 客户端永远不会处理用户凭证。使用授权服务器和 HawtIO 客户端进行身份验证的用户只获得访问 HawtIO 服务器(及其 Jolokia API)的访问令牌。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat