【发布时间】:2019-04-09 08:08:22
【问题描述】:
我正在尝试仅使用资源名称在没有许可票的情况下获取 RPT。虽然此方法在使用策略时有效,但它似乎不适用于通过帐户页面共享资源的用户(返回拒绝访问)。由于某种原因,当用户 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"
【问题讨论】:
标签: keycloak jboss-tools