4.4.2.3. 快速本地 JWT 令牌验证配置
快速本地 JWT 令牌验证在本地检查 JWT 令牌签名。
本地检查可确保令牌:
-
通过包含访问令牌的
Bearer
声明值(拼写错误)符合类型 - 有效(未过期)
-
具有与
validIssuerURI
匹配的签发者
在配置监听器时,您可以指定一个 validIssuerURI
属性,以便拒绝授权服务器未发布的任何令牌。
在快速本地 JWT 令牌验证期间,不需要联系授权服务器。您可以通过指定 jwksEndpointUri
属性(OAuth 2.0 授权服务器公开的端点)来激活快速本地 JWT 令牌验证。端点包含用于验证签名 JWT 令牌的公钥,这些令牌由 Kafka 客户端作为凭据发送。
注意
与授权服务器的所有通信都应使用 TLS 加密来执行。
您可以在 AMQ Streams 项目命名空间中将证书信任存储配置为 OpenShift Secret,并使用 a tlsTrustedCertificates
属性指向包含信任存储文件的 OpenShift Secret。
您可能希望配置 userNameClaim 以
从 JWT 令牌正确提取用户名。如果要使用 Kafka ACL 授权,则需要在验证过程中根据用户的用户名进行识别。( JWT 令牌中的 子
声明通常是唯一的 ID,而不是用户名。)
用于快速本地 JWT 令牌验证的配置示例
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka spec: kafka: #... listeners: - name: tls port: 9093 type: internal tls: true authentication: type: oauth validIssuerUri: <https://<auth-server-address>/auth/realms/tls> jwksEndpointUri: <https://<auth-server-address>/auth/realms/tls/protocol/openid-connect/certs> userNameClaim: preferred_username maxSecondsWithoutReauthentication: 3600 tlsTrustedCertificates: - secretName: oauth-server-cert certificate: ca.crt #...