如何测试 Keycloak 的管理 REST API

Fab*_*zio 1 keycloak keycloak-services

如何测试 Keycloak 本机服务

该文档提供了多种服务,例如:用户管理、客户、组和会话,我尝试了多种方法来测试这些服务,但没有成功。可能是由于配置不正确

我在 Stackoverflow 上看到了一个示例,它显示了服务的正确路径

例如。 http://{地址和端口}/auth/admin/realms/{Realm}/users

还有一些关于如何在邮递员上测试的设置,但我没有成功调用

有谁有例子或者可以帮助我如何激活/使用这些服务。

谢谢!

要使用的服务:(Keycloak Admin REST API) https://www.keycloak.org/docs-api/8.0/rest-api/index.html]

Evi*_*unk 6

我向您导出了 Postman Collection:https ://pastebin.com/Aaf3BUah您可以将其导入到 postman 中。

但我想指出,如何使用API​​:

我的示例使用http://localhost:80上正在运行的 keycloak 实例 (8.0.2) 以及用户admin名和密码Pa55w0rd

由 2 个请求组成:

登录:

使用我的管理员用户登录并获取请求 2 中使用的访问令牌。

POST http://localhost:80/auth/realms/master/protocol/openid-connect/token
Content-Type:x-www-form-urlencoded
Run Code Online (Sandbox Code Playgroud)

使用以下参数(更改用户名/密码)

username:admin
password:Pa55w0rd
grant_type:password
client_id:admin-cli
Run Code Online (Sandbox Code Playgroud)

结果我会得到一些数据,但重要的是 access_Token-Bearer:

{
    "access_token": "eyJhbGc...JDjfg", //i reduced the string
...
}
Run Code Online (Sandbox Code Playgroud)

请记住,此令牌是执行 Request2 所必需的。但它的有效期只有 60 秒,所以测试时要快:-)

获取所有用户:

GET http://localhost:80/auth/admin/realms/master/users
Header  Authorization: Bearer eyJhbGc...JDjfg
Run Code Online (Sandbox Code Playgroud)

回复:

[
    {
        "id": "9fec4b6c-3648-425b-a90f-f6dd78f421ab",
        "createdTimestamp": 1581017581626,
        "username": "admin",
        "enabled": true,
        "totp": false,
        "emailVerified": false,
        "disableableCredentialTypes": [],
        "requiredActions": [],
        "notBefore": 0,
        "access": {
            "manageGroupMembership": true,
            "view": true,
            "mapRoles": true,
            "impersonate": true,
            "manage": true
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

通过此示例,您应该能够访问不同的 REST API 端点。但请确保您发送的每个请求中都包含有效的 access_token - 否则您只会得到Not Authorized响应