2.2. 架构
本例演示了如何构建提供两个端点的简单微服务:
-
/api/users/me
-
/api/admin
这些端点受到保护,只有在客户端发送 bearer 令牌与请求时才能访问,该令牌必须有效(如签名、到期和受众)并由微服务信任。
Keycloak 服务器发出 bearer 令牌,并代表签发令牌的主题。由于它是 OAuth 2.0 授权服务器,因此令牌也会代表用户引用客户端。
具有有效令牌的任何用户都可以访问 /api/users/me
端点。作为响应,它会返回一个 JSON 文档,其中包含从令牌中信息中获取的用户详细信息。
/api/admin
端点通过 RBAC 进行保护(Role-Based Access Control),只有具有 admin
角色的用户才能访问。在这个端点中,@RolesAllowed
注释用于声明性地强制实施访问约束。