Я пытаюсь получить 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"