4.4.3. Kafka 代理的会话重新身份验证


您可以配置 oauth 侦听程序,在 Kafka 客户端和 Kafka 代理间的 OAuth 2.0 会话中使用 Kafka 会话 重新身份验证。这种机制强制客户端与代理之间经过身份验证的会话在指定时间段后到期。会话过期时,客户端将通过重复使用现有连接而不是丢弃它来立即启动新会话。

会话重新身份验证默认为禁用。要启用它,您可以在 oauth 监听程序配置中为 maxSecondsWithoutReauthentication 设置一个时间值。同一属性用于为 OAUTHBEARER 和 PLAIN 身份验证配置会话重新身份验证。有关配置示例,请参阅 第 4.4.6.2 节 “配置 Kafka 代理的 OAuth 2.0 支持”

客户端使用的 Kafka 客户端库必须支持会话重新身份验证。

会话重新身份验证可用于 快速本地 JWT内省端点 令牌验证。

客户端重新身份验证

当代理经过身份验证的会话过期时,客户端必须通过向代理发送新的有效访问令牌来重新验证现有会话,而不丢弃连接。

如果令牌验证成功,则利用现有连接启动新的客户端会话。如果客户端无法重新验证,代理会在进一步尝试发送或接收消息时关闭连接。如果在代理中启用了重新身份验证机制,使用 Kafka 客户端库 2.2 或更高版本的 Java 客户端会自动重新验证。

会话重新身份验证也适用于刷新令牌(若使用)。会话过期时,客户端使用刷新令牌刷新访问令牌。然后,客户端使用新的访问令牌重新验证到现有会话。

OAUTHBEARER 和 PLAIN 的会话过期

当配置会话重新身份验证时,会话过期适用于 OAUTHBEARER 和 PLAIN 身份验证的不同。

对于 OAUTHBEARER 和 PLAIN,请使用客户端 ID 和 secret 方法:

  • 代理通过身份验证的会话将在配置的 maxSecondsWithoutReauthentication 时过期。
  • 如果访问令牌在配置的时间之前过期,会话将更早过期。

对于 PLAIN 使用长期访问令牌方法:

  • 代理通过身份验证的会话将在配置的 maxSecondsWithoutReauthentication 时过期。
  • 如果访问令牌在配置的时间之前过期,则重新身份验证会失败。虽然尝试重新身份验证会话,但 PLAIN 没有刷新令牌的机制。

如果没有 配置 maxSecondsWithoutReauthentication,OAUTHBEARER 和 PLAIN 客户端可以无限期地保持连接到代理,而无需重新身份验证。经过身份验证的会话不以访问令牌到期结尾。但是,在配置授权时需要考虑这一点,例如通过使用 keycloak 授权或安装自定义授权器。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.