搜索

2.5. 支持财务级 API(FAPI)

download PDF

Red Hat Single Sign-On 可让管理员更轻松地确保其客户端符合这些规格:

这种合规性意味着 Red Hat Single Sign-On 服务器将验证授权服务器的要求,这在规格中提到。Red Hat Single Sign-On 适配器没有对 FAPI 的任何特定支持,因此客户(应用程序)一侧所需的验证可能仍然需要手动或通过某些其他第三方解决方案完成。

2.5.1. FAPI 客户端配置集

为确保您的客户端兼容 FAPI,您可以在域中配置客户端策略,如 服务器管理指南 所述,并将它们链接到 FAPI 支持的全局客户端配置集,这些配置文件在每个域中自动可用。您可以基于客户端符合的 FAPI 配置集,使用 fapi-1-baselinefapi-1-advanced 配置集。

如果要使用 Pushed Authorization Request(PAR),建议您的客户端同时针对 PAR 请求使用 fapi-1-baseline 配置集和 fapi-1-advanced。具体来说,fapi-1-baseline 配置集包含 pkce-enforcer executor,以确保客户端使用带有安全 S256 算法的 PKCE。FAPI 高级客户端不需要此项,除非它们使用 PAR 请求。

如果要以 FAPI 兼容方式使用 CIBA,请确保您的客户端同时使用 fapi-1-advancedfapi-ciba 客户端配置文件。需要使用 fapi-1-advanced 配置集,或者包含所请求执行器的其他客户端配置集,因为 fapi-ciba 配置集包含仅 CIBA 特定的 executors。当强制 FAPI CIBA 规格的要求时,需要满足机密客户端或证书界访问令牌的执行。

2.5.2. Open Banking Brasil financial-grade API Security Profile

红帽单点登录符合 Open Banking Brasil financial-grade API Security Profile 1.0 implementers Draft 2。与 FAPI 1 高级 规格相比,这个要求更为严格,因此可能需要以 更严格的方式配置客户端 策略来强制实施某些要求。特别是:

  • 如果您的客户端没有使用 PAR,请确保它使用加密的 OIDC 请求对象。这可以通过使用启用了 Encryptionsecure-request-object executor 配置的客户端配置集来实现。
  • 确保 对于 JWS,客户端使用 PS256 算法。对于 JWE,客户端应该使用 RSA-OAEPA256GCM。这可能需要在适用这些算法的所有 客户端设置 中设置。

2.5.3. TLS 注意事项

随着机密信息交换,所有交互都应该通过 TLS(HTTPS)加密。此外,FAPI 规格中对使用的密码套件和 TLS 协议版本有一些要求。要满足这些要求,您可以考虑配置允许的密码。此配置可以在 Elytron 子系统中的 KEYCLOAK_HOME/standalone/configuration/standalone-*.xml 文件中完成。例如,此元素可以在 tls server-ssl-contexts下添加

<server-ssl-context name="kcSSLContext" want-client-auth="true" protocols="TLSv1.2" \
key-manager="kcKeyManager" trust-manager="kcTrustManager" \
cipher-suite-filter="TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" protocols="TLSv1.2" />

kcKeyManagerkcTrustManager 的引用引用引用对应的 Keystore 和 Truststore。有关更多详细信息以及 Red Hat Single Sign-On 文档,如 网络设置 部分或 X.509 身份验证 部分,请参阅 Wildfly Elytron 子系统文档。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.