Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 密钥斗篷放置请求返回401(未经授权)_Java_Spring Boot_Postman_Keycloak_Keycloak Rest Api - Fatal编程技术网

Java 密钥斗篷放置请求返回401(未经授权)

Java 密钥斗篷放置请求返回401(未经授权),java,spring-boot,postman,keycloak,keycloak-rest-api,Java,Spring Boot,Postman,Keycloak,Keycloak Rest Api,我正在使用postman,我尝试通过http://localhost:8180/auth/admin/realms/demo/users/{userID}但我收到了401响应 我使用的程序是: 通过请求和接收管理令牌http://localhost:8180/auth/realms/master/protocol/openid-连接/令牌 添加令牌以适当的方式请求头,即授权:承载{access_token} 已通过发送Put请求,其中Json内容类型和用户信息为正文http://local

我正在使用postman,我尝试通过http://localhost:8180/auth/admin/realms/demo/users/{userID}但我收到了
401
响应

我使用的程序是:

  • 通过请求和接收管理令牌http://localhost:8180/auth/realms/master/protocol/openid-连接/令牌

  • 添加令牌以适当的方式请求头,即授权:承载{access_token}

  • 已通过发送Put请求,其中Json内容类型和用户信息为正文http://localhost:8180/auth/admin/realms/demo/users/{userID}

不幸的是,我接二连三地收到401条回复

第一项请求:

-正文(x-www-form-urlencoded)

-到<代码>http://localhost:8180/auth/realms/master/protocol/openid-连接/令牌

第二项请求:

-标题->授权:持票人

-正文(JSON)


-到<代码>http://localhost:8180/auth/admin/realms/demo/users/{userID}

在您的第一次调用中,
david
用户必须是具有管理员权限的用户。否则,对于
david
用户没有权限执行的操作,将获得授权的错误响应。查看如何为用户分配类似管理员的权限

现在,让我们代表主管理员用户请求令牌,如下所示:

从主体响应中提取
access\u令牌

对于第一个第二次呼叫,将
访问\u令牌
复制并粘贴到
授权>类型承载令牌

在第二次通话中,而不是

http://localhost:8180/auth/admin/realms/demo/users/{userID} 
您需要将
userID
参数替换为正在更新的用户的实际
userID
。要获取
userID
,可以调用以下端点:

GET <YOUR_KEYCLOAK_DOMAIN>/auth/admin/realms/<YOUR_REALM>/users/?username=<THE_USERNAME>
GET/auth/admin/realms//users/?username=
或者,您可以从KeyClope管理控制台的“用户”选项卡下进行复制和粘贴:

所以在《邮递员》中,它看起来像:

http://localhost:8180/auth/admin/realms/demo/users/{userID} 
GET <YOUR_KEYCLOAK_DOMAIN>/auth/admin/realms/<YOUR_REALM>/users/?username=<THE_USERNAME>