当前位置: 首页 > 知识库问答 >
问题:

键盘锁- Uma配置

景远航
2023-03-14

当尝试使用keycloak java api我得到这个错误:

Exception in thread "main" java.lang.RuntimeException: Could not obtain configuration from server [http://localhost:8010/auth//realms/BLKRealm/.well-known/uma-configuration].
at org.keycloak.authorization.client.AuthzClient.<init>(AuthzClient.java:82)
at org.keycloak.authorization.client.AuthzClient.create(AuthzClient.java:56)
at org.keycloak.authorization.client.AuthzClient.create(AuthzClient.java:49)
at KeyCloackApiCaller.Caller.App.someLibraryMethod(App.java:14)
at KeyCloackApiCaller.Caller.App.main(App.java:26)
Caused by: org.keycloak.authorization.client.util.HttpResponseException: Unexpected response from server: 404 / Not Found
at org.keycloak.authorization.client.util.HttpMethod.execute(HttpMethod.java:92)
at org.keycloak.authorization.client.util.HttpMethodResponse$2.execute(HttpMethodResponse.java:48)
at org.keycloak.authorization.client.AuthzClient.<init>(AuthzClient.java:80)
... 4 more

这是生成错误的代码:

import org.keycloak.authorization.client.AuthzClient;
import org.keycloak.representations.AccessTokenResponse;

public class App 
{
   public static boolean someLibraryMethod() {

   AuthzClient authzClient = AuthzClient.create();

   // send the authorization request to the server in order to
   // obtain an access token granted to the user
   AccessTokenResponse response = authzClient.obtainAccessToken("*****", "*****");

   return true;
 }  
 public static void main(String[] args)
 {
   someLibraryMethod();
 }
}

我理解这个错误,但我不明白为什么我收到这个错误,领域已启用UMA,我的客户端已正确配置。有人能帮我吗?

共有2个答案

奚翰海
2023-03-14

产生了这个问题,因为我使用了过时的api。

要解决这个问题,如果您使用的是maven,请设置正确的版本:

<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-authz-client</artifactId>
    <version>8.0.1</version>
</dependency>

谢谢你的帮助。

赫连靖琪
2023-03-14

您使用了错误的UMA发现endpoint。它是uma2配置,而不是uma-配置(它对一些较旧的Keycloak版本有效):

http://${host}:${port}/auth/realms/${realm}/.well-known/uma2-configuration

文档: https://www.keycloak.org/docs/latest/authorization_services/index.html#_service_authorization_api

 类似资料:
  • 我尝试过很多方法从keycoat standalone 15.1.0重置密码,但都没有成功。每次它说“对不起…发生内部服务器错误”时,我都已经用我的电子邮件帐户和gmail主机设置了我的域,并且我启用了身份验证并输入了我的邮件帐户凭据。这是我需要做的其他设置吗? 截图

  • uma::bson 是一个 DOM 风格的 C++ API,用于读写 BSON 数据。

  • 我试图开发一个具有一些安全选项的应用程序,其中一个选项我需要知道设备是否被任何类型的密码(数字、模式等)锁定,所以我开始阅读android文档并找到了两个KeyguardManager方法,isDeivceLocked()和isDeviceSecured(),但是我在描述中并没有看到太多的区别,所以这两者之间的区别到底是什么?预先感谢

  • 鼠标驱动的工作是触发按键按下和释放事件,通常我们只需要绑定系统的按键事件然后转换成 LCUI 的按键事件对象即可。 如需了解更多,可参考现有的鼠标驱动代码: ​src/platform/linux/linux_keyboard.c​ ​src/platform/linux/linux_keyboard.c​ ​src/platform/windows/windows_keyboard.c​ ​sr

  • 在Microsoft Windows 98中,键盘和鼠标是两个标准的使用者输入来源,在一些连贯操作中常产生互补作用。当然,鼠标在今天的应用程序中比十年前使用得更为广泛。甚至在一些应用程序中,我们更习惯于使用鼠标,例如在游戏、画图程序、音乐程序以及Web浏览器等程序中就是这样。然而,我们可以不使用鼠标,但绝对不能从一般的PC中把键盘拆掉。 相对于个人计算机的其它组件,键盘有非常久远的历史,它起源于1

  • jd.hideKeyboard(Object object) 在input、textarea等focus拉起键盘之后,手动调用此接口收起键盘 参数 Object object 属性 类型 必填 说明 success function 否 接口调用成功的回调函数 fail function 否 接口调用失败的回调函数 complete function 否 接口调用结束的回调函数(调用成功、失败都会