Keycloak:如何仅使用资源 url 和 access_token 来授权客户端资源?

时间:2020-12-27 10:30:43

标签: java authorization keycloak vert.x

我正在尝试使用 keycloak 作为我的授权服务器(在网关级别)并拦截所有请求以确定用户是否获得授权。

我已经在 keycloak 端完成了所有配置,并且在使用其 UI 评估时,我获得了所需的访问控制。

我的问题是这段代码我必须提供请求的 resource_Id,这不是一种动态的方式。

这是我的代码快照。

PermissionRequest request = new PermissionRequest(resourceId);
String ticket = authzClient.protection().permission().create(request).getTicket();

authzClient.authorization(req.user().principal().getString("access_token"))
  .authorize(new AuthorizationRequest(ticket));

如果用户无权使用此资源,我会收到“UnauthorizedException”,我想使用请求的资源 URI 而不是 resourceId,有没有办法这样做?

请注意,我使用的是 Vertx 框架而不是 Spring Boot。

0 个答案:

没有答案