0

我想使用 API 禁用或启用在 keyrock 中找到的用户,但我不能。https://keyrock.docs.apiary.io/没有在这里说明如何操作。这不可能吗?在此处输入图像描述

4

1 回答 1

0

通过 REST API 以管理员用户身份登录。

curl -iX POST \
  'http://localhost:3005/v1/auth/tokens' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "admin@test.com",
  "password": "1234"
}'

响应标头返回一个X-Subject-token 标头,该标头标识谁已登录应用程序。所有后续请求都需要此令牌才能获得访问权限。

您在问题中提供的图像只是 GET /users 端点的 GUI 版本

curl -L -X GET 'http://localhost:3005/v1/users' \
-H 'Content-Type: application/json' \
-H 'X-Auth-token: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'

或者您可以请求特定用户:

curl -L -X GET 'http://localhost:3005/v1/users/bbbbbbbb-good-0000-0000-000000000000' \
-H 'Content-Type: application/json' \
-H 'X-Auth-token: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'

回报:

{
    "user": {
        "scope": [],
        "id": "bbbbbbbb-good-0000-0000-000000000000",
        "username": "bob",
        "email": "bob-the-manager@test.com",
        "enabled": true,
        "admin": false,
        "image": "default",
        "gravatar": false,
        "date_password": "2018-07-30T11:41:14.000Z",
        "description": "Bob is the regional manager",
        "website": null
    }
}

您想enabled: false使用 PATCH /user 端点进行设置。

curl -L -X PATCH 'http://localhost:3005/v1/users/bbbbbbbb-good-0000-0000-000000000000' \
-H 'Content-Type: application/json' \
-H 'X-Auth-token: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' \
--data-raw '{
    "user": {
        "username": "bob",
        "email": "bob-the-manager@test.com",
        "enabled": false,
        "gravatar": false,
        "date_password": "2018-07-26T15:25:14.000Z"
    }
}'

更多信息可以在 FIWARE 文档中的安全章节教程 中找到,其中 Keyrock 是FIWARE 目录中的一个组件

在 FIWARE 文档中,给出了一个使用 Keyrock 来围绕“由 FIWARE 提供支持”解决方案提供用户身份的示例。请注意,虽然 Keyrock 通常用于 “由 FIWARE 提供支持”的解决方案(以及 FIWARE 目录中的其他元素),但它也可用于为其他独立应用程序或微服务提供身份 - 它并不仅仅限于在FIWARE场景中使用。同样,用于安全或身份管理系统的替代开源或专有组件也可用于保护 “由 FIWARE 提供支持”的解决方案。

于 2022-02-10T12:25:43.980 回答