8.3.2. 提交权限请求


作为授权过程的一部分,客户端需要首先从 UMA 保护的资源服务器获取权限票据,以便在红帽构建的 Keycloak Token Endpoint 中使用 RPT 进行交换。

默认情况下,红帽构建的 Keycloak 会以 403 HTTP 状态代码和 request_denied 错误(如果客户端无法使用 RPT )进行响应。

红帽构建的 Keycloak 拒绝授权请求

HTTP/1.1 403 Forbidden
Content-Type: application/json
...
{
    "error": "access_denied",
    "error_description": "request_denied"
}

此类响应意味着红帽构建的 Keycloak 无法发布 RPT,其权限由权限票据表示。

在某些情况下,客户端应用程序可能希望启动异步授权流,并让请求的资源所有者决定是否应授予访问权限。为此,客户端可以使用 submit_request 请求参数以及对令牌端点的授权请求:

curl -X POST \
  http://${host}:${port}/realms/${realm-name}/protocol/openid-connect/token \
  -H "Authorization: Bearer ${access_token}" \
  --data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket" \
  --data "ticket=${permission_ticket} \
  --data "submit_request=true"

使用 submit_request 参数时,红帽构建的 Keycloak 将为每个访问失败的资源保留权限请求。创建后,资源所有者可以检查其帐户并管理其权限请求。

您可以将此功能视为应用程序中的 请求访问 按钮,用户可以向其他用户询问其他用户访问其资源。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部