#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.