8.6. 授权客户端 java API
根据您的要求,资源服务器应能够远程管理资源,甚至可以以编程方式检查权限。如果使用 Java,您可以使用授权客户端 API 访问 Red Hat Single Sign-On Authorization Services。
它的目标是希望访问服务器提供的不同端点(如 Token Endpoint、资源和 Permission 管理端点)的资源服务器。
8.6.1. Maven 依赖项 复制链接链接已复制到粘贴板!
8.6.2. Configuration 复制链接链接已复制到粘贴板!
客户端配置在 keycloak.json 文件中定义,如下所示:
realm (必需)
域的名称。
auth-server-url (必需)
Red Hat Single Sign-On 服务器的基本 URL。所有其他 Red Hat Single Sign-On 页面和 REST 服务端点都来自于此目的。它通常格式为 https://host:port/auth。
resource (必需)
应用程序的 client-id。每个应用程序都有一个客户端 ID,用于识别应用程序。
凭证 (必需)
指定应用程序的凭证。这是一个对象表示法,其中键是凭证类型,值是凭证类型的值。
配置文件通常位于应用程序的类路径中,客户端将尝试从中查找 文件的默认位置。
keycloak.json
8.6.3. 创建授权客户端 复制链接链接已复制到粘贴板!
您考虑在类路径中有一个 文件,您可以按照如下所示创建一个新的 keycloak.json 实例:
AuthzClient
// create a new instance based on the configuration defined in a keycloak.json located in your classpath
AuthzClient authzClient = AuthzClient.create();
// create a new instance based on the configuration defined in a keycloak.json located in your classpath
AuthzClient authzClient = AuthzClient.create();
8.6.4. 获取用户权利 复制链接链接已复制到粘贴板!
下面是一个演示了如何获取用户权利的示例:
下面是一个示例,它演示了如何为一个或多个资源获取一组用户权利: