Я использую kong в качестве моего API-шлюза и использую плагин kong-oid c для аутентификации с использованием keycloak. Процесс аутентификации проходит гладко и работает нормально. Теперь я хочу добавить авторизацию для запросов к kong для разных микросервисов. Я планирую изменить плагин kong-oidc
. Я создал confidential client
, role-based policies
и resource based permissions
вместе с некоторыми пользователями, которым назначены разные роли в keycloak. Я хочу авторизовать пользователя, если у него есть разрешение на доступ к указанному c ресурсу. Я могу сделать это следующим запросом
http://keycloak-url/auth/realms/$realm/protocol/openid-connect/token \
-H "Authorization: Bearer "$access_token \
--data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket" \
--data "audience=auth-client" \
--data "permission=af-resource" \
--data "response_mode=decision"
Я обеспокоен permission=af-resource
. во время запроса я не могу знать название ресурса, но запрошенный URL. Должен ли я снова запросить keycloak, чтобы дать мне resource-id
для requested-url
, а затем отправить вышеупомянутый запрос на решение, или есть другой способ? Или как-то я могу использовать информацию из token-introspection
конечной точки.