Как получить разрешение ответа от сервера авторизации keycloak - PullRequest
1 голос
/ 09 января 2020

Я использую 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 конечной точки.

...