管理权限请求
使用UMA协议的资源服务器可以使用特定端点来管理权限请求。该端点提供符合UMA的流程,用于注册许可请求并获得许可证。
http://${host}:${port}/auth/realms/${realm_name}/authz/protection/permission
许可证是表示权限请求的特殊安全令牌类型。根据UMA规范,许可证是:
A correlation handle that is conveyed from an authorization server to a resource server,
from a resource server to a client, and ultimately from a client back to an authorization server,
to enable the authorization server to assess the correct policies to apply to a request for authorization data.
注意:许可证支持有限,在完整的UMA协议中,资源服务器可以在服务器中注册许可请求,以支持资源所有者(拥有所请求的资源的用户)可以批准第三方对其资源的访问权限的授权流。这代表了UMA规范的主要特征之一:资源所有者可以控制自己的资源和管理它们的策略。目前,Keycloak UMA的实施支持在这方面非常有限。例如,系统不会在服务器上存储许可权限,我们本质上是使用UMA来提供API安全性,并且基于我们的授权产品。例如,系统不会在服务器上存储许可权限,我们本质上是使用UMA来提供API安全性,并且基于我们的授权产品。
在大多数情况下,您不需要直接处理此端点。Keycloak提供了一个策略执行者,为您的资源服务器启用UMA,从而可以从授权服务器获取权限凭证,将此票据返回给客户端应用程序,并根据最终请求方令牌(RPT)执行授权决策。