2.2. 架构


在本例中,应用程序使用两个 Jakarta REST 资源构建,即 FrontendResourceProtectedResource。在这里,Frontend Resource 使用三种方法之一将访问令牌传播到 ProtectedResource

  • 它可以通过在传播令牌前使用 OIDC 客户端过滤器来获取令牌。
  • 它可以使用编程创建的 OIDC 客户端来获取令牌,并通过将其作为 HTTP 授权标头值传递给 REST 客户端方法来传播令牌。
  • 它可以使用 OIDC 令牌传播过滤器来传播传入的访问令牌。

FrontendResource 有八个端点:

  • /frontend/user-name-with-oidc-client-token
  • /frontend/admin-name-with-oidc-client-token
  • /frontend/user-name-with-oidc-client-token-header-param
  • /frontend/admin-name-with-oidc-client-token-header-param
  • /frontend/user-name-with-oidc-client-token-header-param-blocking
  • /frontend/admin-name-with-oidc-client-token-header-param-blocking
  • /frontend/user-name-with-propagated-token
  • /frontend/admin-name-with-propagated-token

/frontend/user-name-with-oidc-client-token/frontend/admin-name-with-oidc-client-token 端点被调用时,Frontend Resource 使用带有 OIDC 客户端过滤器的 REST 客户端来获取和传播访问令牌到 ProtectedResource。当 /frontend/user-name-with-oidc-client-token-header-param/frontend/admin-name-with-oidc-client-token-header-param 端点被调用,Frontend Resource 使用以编程方式创建的 OIDC 客户端来获取和传播访问令牌到 ProtectedResource,方法是将其作为 HTTP Authorization 标头值传递给 REST 客户端方法。当 /frontend/user-name-with-propagated-token/frontend/admin-name-with-propagated-token 端点被调用时,FrontendResource 使用带有 OIDC Token Propagation Filter 的 REST 客户端将当前的传入访问令牌传播到 ProtectedResource

ProtectedResource 有两个端点:

  • /protected/user-name
  • /protected/admin-name

两个端点返回从传入访问令牌中提取的用户名,该令牌从 FrontendResource 传播到 ProtectedResource。这些端点之间的唯一区别在于,只有在当前访问令牌具有用户角色时才允许调用 /protected/ user -name,只有在当前访问令牌具有 admin 角色时才允许调用 /protected/admin-name

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.