1.3. 架构


本例演示了一个简单的微服务设置,它有两个受保护的端点:

  • /api/users/me
  • /api/admin

基于令牌的访问控制

使用 bearer 令牌控制对这些端点的访问。要获取访问权限,必须满足以下条件:

  • 有效的令牌 :令牌必须具有正确的签名、有效的过期日期和相应的受众。
  • 信任 :微服务必须信任发布 Keycloak 服务器。

Keycloak 服务器发布的 bearer 令牌充当:

  • 用户标识符 :指示签发令牌的主题(用户)。
  • 客户端引用 :根据 OAuth 2.0 授权服务器标准,标识代表用户的客户端应用程序。

端点和访问策略

对于 /api/users/me

  • 访问策略 :打开具有有效 bearer 令牌和用户角色 的用户
  • 响应 :以从令牌派生的 JSON 对象返回用户详情。

    响应示例

    {
      "user": {
        "id": "1234",
        "username": "johndoe",
        "email": "johndoe@example.com"
      }
    }
    Copy to Clipboard Toggle word wrap

对于 /api/admin

  • 访问策略 :限制具有有效 bearer 令牌和 admin 角色的用户。

分离的授权

本例重点介绍了使用基于角色的访问控制(RBAC)策略来保护资源。关键点包括:

  • 策略灵活性 : Keycloak 支持各种策略类型,如基于属性的和自定义策略,启用精细的控制。
  • 分离的应用程序逻辑 :授权策略完全由 Keycloak 管理,使您的应用程序可以专注于其核心功能。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat