Keycloak: невозможно получить RPT, используя имя ресурса - PullRequest
0 голосов
/ 09 апреля 2019

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

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

или

b) Запрашивает конкретные разрешения по 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-ticket&permission=$RESOURCE_NAME&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-ticket&permission=$RESOURCE_ID&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-ticket&audience=$RESOURCE_CLIENT_ID"

1 Ответ

0 голосов
/ 12 апреля 2019

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

...