Keycloak: как авторизовать клиентский ресурс, используя только URL ресурса и access_token?

#java #authorization #keycloak #vert.x

#java #авторизация #keycloak #vert.x

Вопрос:

Я пытаюсь использовать keycloak в качестве своего сервера авторизации (на уровне шлюза) и перехватывать все запросы, чтобы определить, авторизован пользователь или нет.

Я выполнил всю настройку прямо на стороне keycloak, и при использовании его оценки пользовательского интерфейса я получаю желаемый контроль доступа.

Моя проблема в том, что в этом коде я должен предоставить запрошенный resource_Id, что не является динамическим способом сделать это.

Вот мой код snappit.

 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 framework, а не Spring boot.