2.8. 建议


本节介绍了使用 Red Hat build of Keycloak 保护应用程序时的一些建议。

2.8.1. 验证访问令牌

如果您需要手动验证红帽构建的 Keycloak 发布的访问令牌,您可以调用 Introspection Endpoint。这种方法的不足之处在于,您必须进行一个网络调用红帽 Keycloak 服务器的构建。如果您同时存在太多验证请求,则这可能会减慢服务器的速度,并可能会过载。红帽构建的 Keycloak 发布访问令牌是 JSON Web 令牌(JWT),使用 JSON Web 签名(JWS) 进行数字签名和编码。由于以这种方式编码了它们,因此您可以使用发布域的公钥在本地验证访问令牌。您可以在验证代码中硬编码域的公钥,或使用嵌入在 JWS 中的密钥 ID (KID) 的证书端点 查找并缓存公钥。根据您编码的语言,有很多第三方库,它们可帮助您进行 JWS 验证。

2.8.2. 重定向 URI

在使用基于重定向的流时,请确保为您的客户端使用有效的重定向 uri。redirect uris 应尽量具体。这特别适用于客户端(公共客户端)应用程序。无法这样做可能会导致:

  • 打开重定向 - 这样可让攻击者创建像来自您的域的欺骗链接
  • 未授权条目 - 当用户已使用红帽构建的 Keycloak 进行身份验证时,攻击者可以使用公共客户端,其中重定向 uris 没有正确配置,以便在没有了解用户的情况下重定向用户访问权限

在用于 Web 应用的生产环境中,始终将 https 用于所有重定向 URI。不允许重定向到 http。

还有几个特殊的重定向 URI:

http://127.0.0.1
此重定向 URI 可用于原生应用,并允许原生应用在可用于获取授权代码的随机端口上创建 Web 服务器。这个 redirect uri 允许任何端口。请注意,每个 OAuth 2.0 用于原生 Apps不建议使用 localhost,应该改为使用 IP 字面 127.0.0.1
urn:ietf:wg:oauth:2.0:oob
如果无法在客户端(或浏览器不可用)中启动 Web 服务器,您可以使用特殊的 urn:ietf:wg:oauth:2.0:oob redirect uri。当使用此重定向 uri 时,Red Hat build of Keycloak 会在标题和页面的框中显示带有代码的页面。应用可以检测浏览器标题已更改,或者用户可以手动将代码复制并粘贴到应用中。使用这个重定向 uri,用户可以使用不同的设备来获取要粘贴至应用程序的代码。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat