Keycloak:无法使用资源名称获取 RPT

Keycloak: Unable to get RPT using resource name

我试图在没有许可票证的情况下仅使用资源名称获取 RPT。虽然此方法在处理策略时有效,但它似乎不适用于通过帐户页面共享资源的用户(returns 访问被拒绝)。由于某种原因,当用户 A 与用户 B 共享资源时,用户 B 只有满足以下条件才能获得该资源的 RPT:

a) 请求他的所有权限

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"

通过资源 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"

此问题已在 6.0 版中修复