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 版中修复
我试图在没有许可票证的情况下仅使用资源名称获取 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 版中修复