从 Keyrock 固件 API 获取 Auth-Token

2024-02-23

我在我的笔记本电脑上的 docker 本地运行 Keyrock Fiware。我知道这有效,因为我可以访问http://localhost:8000 and http://localhost:8000/sign_up通过我的浏览器,他们响应正确。

我在创建 API 调用时遇到了麻烦。我正在尝试使用 Postman,但在获取 auth-token 时遇到问题,这是进行一些 api 调用所必需的。

按照此guide https://pt.slideshare.net/daltoncezane/integrating-fiware-orion-keyrock-and-wilma我正在尝试创建一个 POST 请求http:/localhost:8000/oauth2/tokens

这本身似乎不起作用,我需要添加其他信息,例如

grant_type=password&username=YOUR_USERNAME&password=YOUR_PAS‌​SWORD
&client_id=YOUR‌​_CLIENT_ID&client_se‌​cret=YOUR_CLIENT_SEC‌​RET` 

我不知道这些信息应该放在我的邮递员请求中的哪里。 我有田地Authorization, Headers, Body,并在Headers我有田地key, value and description但是,我不明白其中哪一个是正确的。


简短回答:

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 由两个项目组成:Horizo​​n 和 Keystone。两者都是 Openstack 项目的分支,您可以在 Github 中找到它们。当您使用端口 8000 的服务时,您正在调用 Horizo​​n 服务,它是前端组件。另一方面,当您使用端口 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”。

我希望我有所帮助。祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Keyrock 固件 API 获取 Auth-Token 的相关文章

  • 适用于多个应用程序的 OWIN 身份验证服务器

    我正在实现一个解决方案 该解决方案具有 MVC 客户端 让我们在 localhost 4077 调用此 CLIENT 和 WebAPI 服务 在 localhost 4078 调用 API 我已经在 API 中实现了 OWIN OAuth
  • django-social-auth 中的 Django 错误

    我是 Django 的新手 我正在我的应用程序中实现 Facebook 身份验证 我在终端输出中遇到的错误类似于 File manage py line 10 in
  • 为什么 Orion 订阅不能按我的意愿工作?

    我在 orion 1 2 1 中有以下订阅 curl include header Content Type application json request POST data binary description subscriptio
  • YQL API请求私有数据认证错误

    我正在使用 YQL 为我的 yahoo Fantasy Football League 提取一些数据 我已经创建了该应用程序 它给了我一个消费者 密钥 但我如何将此信息传递给 yahoo api 来让我登录 我知道我必须使用 OAuth 但
  • DotNetOpenAuth 的来源在哪里?主要的 Sourceforge 链接仅包含示例和 ApplicationBlock

    现在 DNOA 可以做到回电报告 http www dotnetopenauth net openid dotnetopenauth e2 80 99s e2 80 9ccall home e2 80 9d reporting 我想调查源头
  • 无法在 Android 上使用 XOAUTH 连接到 Gmail IMAP

    我正在构建一个使用 Gmail 来备份一些数据的应用程序 我使用 XOAUTH 连接到 Gmail 并获取令牌和秘密 但我无法连接到 Gmail 的 IMAP 服务 我按照以下示例进行操作http code google com p goo
  • 检测 Twitter 的 iOS 版本?

    显然 我对 Twitter oAuth 令牌请求 的使用在 iOS 5 中不起作用 我如何为 iOS 5 以下的任何内容保留此代码并使用适用于 iOS 5 的新 Twitter 框架 可以检测iOS版本吗 Thanks 您 几乎 永远不想查
  • 通过 Discord OAuth 传递字符串?

    我想知道是否可以使用 Discord OAuth 识别范围 同时还将重要的补充信息传递到重定向 URL site with important variable gt oauth page gt site that needs import
  • 客户端检索 Google 联系人图片

    我正在使用 Google JavaScript API 在网络应用程序中获取 Google 联系人 并且我想检索他们的照片 我正在做这样的事情 大大简化 var token let s admit this is available alr
  • Ruby on Rails Devise Oauth-facebook OmniAuth::Strategies::OAuth2::CallbackError

    我使用 facebook 实现 oauth 登录并设计 当从接受应用程序 弹出窗口 返回时 我收到以下错误 由于 检测到 Csrf 无法通过 Facebook 验证您的身份 这是日志 于 2014 01 23 23 59 58 0100 开
  • Magento Rest API - oAuth 错误

    我是第一次使用 Magento Rest API 我浏览了 Rest API 的教程http www magentocommerce com api rest并尝试了一个通过 API 获取产品的示例 callbackUrl http loc
  • 当用户存储在外部身份提供商服务中时与用户的关系

    我正在尝试为其创建一个 API 和一个网站客户端 最近 我读了很多关于 OAuth2 作为安全机制的文章 以及提供身份验证服务的公司 例如auth0 com https auth0 com 甚至 Azure Active Directory
  • 将服务连接到现有的流星帐户

    我正在设置一个流星应用程序 其中涉及使用用户名和密码进行注册 然后希望将该帐户与 Facebook 和 Twitter 连接起来 我只需使用帐户包即可轻松启动并运行第一部分 但是当我有一个登录用户调用 Meteor loginWithFac
  • 我可以查看当前登录的 Twitter 用户吗?

    他们没有通过我的网站进行 OAuth 验证 但在该浏览器上登录到 Twitter 有什么办法让我知道他们的 Twitter 用户名吗 饼干 什么 除非某些东西非常糟糕或者 Twitter 明确提供了用于此目的的 API 否则不会 至少不是通
  • 为什么我们必须在 OAuth 中“更改令牌凭据的临时凭据”?

    服务器不能只是将临时凭证 升级 为令牌凭证并保留相同的密钥和秘密吗 然后 客户端可以在收到服务器的回调 表明临时凭证已 升级 后立即开始进行经过身份验证的调用 当然 如果临时凭证尚未升级 即客户端不等待回调 则经过身份验证的调用将失败 所以
  • Google Fit O 身份验证失败并显示 RESULT_CANCELED,且不显示权限页面

    您好 我有一个 android 项目 它从应用程序用户的 Google Fit 个人资料中读取某些数据 我遇到了如下奇怪的情况 以下所有内容都处于调试模式 而不是发布模式 1 当从我自己的笔记本电脑编译时 oAuth 在我的手机上成功运行
  • 使用 OAuth 的 Vkontakte API 不适用于验证码

    Vkontakte API 拒绝使用验证码的请求 这就是我所做的例子 在第三个请求之后我得到 验证码错误 14 需要验证码 根据添加就足够了captcha sid and captcha key参数到原始请求并重复请求 但回应依然是Capt
  • 将 OAuth WRAP 访问令牌直接保存在客户端计算机上的 cookie 中吗?

    我计划建立一个可以访问 oauth 包装框架的网站 我正在考虑将访问令牌按原样存储在客户端计算机上 我不想在服务器上维护临时令牌等数据库 我应该做吗 或者我应该加密它 首先 为什么他们不使用 OAuth 2 0 您可以将 OAuth 凭据存
  • Twitter\OAuth2\Python 入门

    我正在尝试使用 python 连接到 twitter 但我发现它真的很令人沮丧 我读到的所有内容都表明我需要一个消费者密钥 一个消费者秘密 一个访问密钥和一个访问秘密 例如 使用python OAUTH2访问OAUTH保护的资源 http
  • Foursquare - OAuth 身份验证 - .Net 示例

    是否有关于如何使用 Oauth 向 Foursquare 进行身份验证的示例 这里有一个关于如何将 OAuth 与 Foursquare 结合使用的非常好的工作流程摘要 http developer foursquare com docs

随机推荐