keycloak-通过keycloak服务API操作用户

本文详细介绍了如何在Keycloak23.0.7环境中使用OpenID-Connect获取和管理token,包括用户注册、权限分配、角色关联以及密码管理等操作,同时强调了IP地址和API版本选择的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境描述

keycloak版本:23.0.7

keycloak页面基础配置:keycloak-鉴权springboot-优快云博客 我的这篇博客中有简单配置方式,不赘述。

keycloak有自己的用户体系,但是为第三方服务鉴权时可能会用到第三方服务的用户体系。这时候操作第三方服务的用户体系时可以通过API同步操作到keycloak中。

官方文档:

获取token:

Server Developer Guide

API列表
Keycloak Admin REST API

二、开始干活

1、获取token

http://localhost:8080/realms/master/protocol/openid-connect/token

注意,如果获取token的ip,必须和将来调用API的ip相同,否则token会鉴权不通过

2、添加token

添加token,后边的例子不再说明添加token,每一个api都需要带token

3、添加用户(区分realm用户和client用户)

post 方式

http://localhost:8080/admin/realms/master/users

添加成功,虽然没有返回值,但是在keycloak管理界面中已经看到添加的用户了

4、获取当前用户权限内的用户列表

从而拿到userid

get方式

http://localhost:8080/admin/realms/master/users

5、使用userid添加或修改用户密码

put方式

http://localhost:8080/admin/realms/master/users/4dff211d-9dc5-4eb1-8689-4b3cf8a9b1eb/reset-password

6、删除用户

delete方式

http://localhost:8080/admin/realms/master/users/b5f03860-f91f-4b5c-a873-7fd2115a343e

7、用户与角色关联(区分realm角色和client角色,以下为client角色)

post方式

http://localhost:8080/admin/realms/master/users/4dff211d-9dc5-4eb1-8689-4b3cf8a9b1eb/role-mappings/clients/8752df0c-e8ea-4b7f-ac7d-d80e8a98540f

 

8、更新密码

用户手动改库后使密码生效

http://localhost:8080/admin/realms/master/users/4dff211d-9dc5-4eb1-8689-4b3cf8a9b1eb/credentials/b07ccfc6-a22a-404a-a38a-955cf6dcadd6/userLabel

三、注意事项

1、获取token的keycloak地址必须和使用token请求的keycloak地址一样。127.0.0.1 和 localhost生成出的token都是不一样的。

2、官方文档的API可以选择版本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值