Keycloak 常用API

1.得到Token

POST url: http://127.0.0.1:8082/auth/realms/master/protocol/openid-connect/token

2.得到userinfo

GET url: http://127.0.0.1:8082/auth/realms/master/protocol/openid-connect/userinfo

需要提供上面得到的access_token信息

3.得到所有的realm roles

GET url: http://127.0.0.1:8082/auth/admin/realms/master/roles (Keycloak Admin REST API)

需要提供上面得到的access_token信息

4.得到所有的Realm Group:

GET url: http://127.0.0.1:8082/auth/admin/realms/master/groups

需要提供上面得到的access_token信息

5.得到具体的group信息:

GET url: http://127.0.0.1:8082/auth/admin/realms/master/groups/b62ea16a-2fbe-49f3-b7b6-c4681883038a  (/{realm}/groups/{id})

需要提供上面得到的access_token信息,以及具体group的id 信息。

6.创建Group:

POST URL: http://127.0.0.1:8082/auth/admin/realms/master/groups

需要提供上面得到的access_token信息,并加入到Header中

然后会遇到403错误,说没有权限去进行添加Group操作,怎么解决呢?

给用户添加role,并且这个role必须具有一定的权限。创建一个role,并为其分配client "master-realm"所拥有的权限"manage-users",如下图所示

其中的"query-users"和"view-users"是用来做查询的,不能用于去创建group。

总结:

更多的Keycloak Admin REST API请参考: https://www.keycloak.org/docs-api/5.0/rest-api/index.html#_overview

需要注意的是,在使用Admin REST API的时候,一定要在Path的开头加上“auth/admin/realms/”,例如下面的得到所有realm group信息的API,应该这样访问

http://127.0.0.1:8082/auth/admin/realms/master/groups