简短回答:
IdM Keyrock API 需要对其大多数端点进行身份验证,因此您实际上应该生成一个令牌。如何生成令牌是比较复杂的事情,需要一些背景知识来解释。
如果您使用的是官方 IdM keyrock GE,我强烈建议您观看此内容tutorial https://edu.fiware.org/course/view.php?id=79关于 Fiware Academy 中的此组件。
除其他内容外,它还解释了如何使用 OAuth2 客户端和 IdM keyrock 生成 OAuth2 令牌。
长答案:
GE IdM Keyrock 由两个项目组成:Horizon 和 Keystone。两者都是 Openstack 项目的分支,您可以在 Github 中找到它们。当您使用端口 8000 的服务时,您正在调用 Horizon 服务,它是前端组件。另一方面,当您使用端口 5000 的服务时,您正在调用后端组件 Keystone 服务。顺便说一句,如果您正在寻找有关此 API 的更多信息,您可以在这里找到:
- IdM Keyrock API http://docs.keyrock.apiary.io/
- Openstack Keystone API v3 https://developer.openstack.org/api-ref/identity/v3/
棘手的部分是,虽然 keystone 处理自己的内部令牌(keystone 令牌),但 FIWARE 使用 OAuth2 令牌与其他 GE 集成。因此,您将在 keyrock API 中找到 OAuth2 扩展。因此,根据您想要使用哪个 API,您将需要哪种令牌:Keystone 令牌或 OAuth2 令牌。
例如,如果您想使用以下服务检索现有用户,您将需要 Keytone 令牌。
GET http://localhost:5000/v3/users http://localhost:5000/v3/users
最后,要生成 keystone 令牌,您可以使用 keystone API 的以下服务:
POST http://[keyrock_host]:5000/v3/auth/tokens
{ "auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": [ADMIN_USER],
"domain": { "name": "default" },
"password": [ADMIN_PWD]
}
}
}
}
}
如果您从 Docker Hub 映像甚至从官方源代码存储库安装了 Keyrock,请尝试对 ADMIN_USER 和 ADMIN_PWD 使用“idm”。
我希望我有所帮助。祝你好运!