Keycloak: невозможно получить RPT, используя имя ресурса

#keycloak #jboss-tools

#keycloak #jboss-tools

Вопрос:

Я пытаюсь получить RPT без разрешения, используя только имена ресурсов. Хотя этот метод работает при работе с политиками, он, похоже, не работает с пользователями, которые делятся своими ресурсами через страницу учетной записи (возвращает отказ в доступе). По какой-то причине, когда пользователь A совместно использует ресурс с пользователем B, пользователь B может получить RPT для этого ресурса, только если он:

а) Запрашивает все его разрешения

или

б) Запрашивает определенные разрешения по идентификатору (не по имени)

Это предполагаемое поведение? Если да, то как я могу преодолеть эту проблему и по-прежнему использовать только имена ресурсов?

Получение RPT по имени ресурса (не работает с общим доступом):

     curl "$PROTOCOL://$HOST:$PORT/auth/realms/$REALM/protocol/openid-connect/token" 
    -H "Authorization: Bearer $ACCESS_TOKEN" 
    --data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticketamp;permission=$RESOURCE_NAMEamp;audience=$RESOURCE_CLIENT_ID"
  

Получение RPT по идентификатору ресурса (работает с общим доступом):

     curl "$PROTOCOL://$HOST:$PORT/auth/realms/$REALM/protocol/openid-connect/token" 
    -H "Authorization: Bearer $ACCESS_TOKEN" 
    --data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticketamp;permission=$RESOURCE_IDamp;audience=$RESOURCE_CLIENT_ID"
  

Получение RPT для всех ресурсов (работает с общим доступом):

     curl "$PROTOCOL://$HOST:$PORT/auth/realms/$REALM/protocol/openid-connect/token" 
    -H "Authorization: Bearer $ACCESS_TOKEN" 
    --data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticketamp;audience=$RESOURCE_CLIENT_ID"
  

Ответ №1:

Эта проблема исправлена в версии 6.0