首页 文章

Fiware KeyRock API错误:未返回组织的成员身份

提问于
浏览
3

作为FINISH加速器的一部分,我们使用FIWARE KeyRock和Wirecloud . 目前,我们正在使用Fiware实验室全球实例进行调查 .

我们希望限制我们的系统,以便用户只能查看属于他们所属组织的数据 .

以下流程似乎合乎逻辑,但如果我错了,请纠正我:

  • 用户登录Wirecloud并通过KeyRock登录屏幕进行定向 .

  • Wirecloud Widget从Wirecloud环境中获取访问令牌 . 访问令牌是在用户登录时创建的 .

  • Wirecloud小部件查找用户所属的组织和角色 . 基于此,它将组织名称添加到其查询中 .

  • Wirecloud小部件使用刚创建的查询查询Web服务(Orion或其他) .

  • 我们将Wilma PEP代理放在Wirecloud Widget和Web服务之间,以验证用户是否是查询中组织的成员 .

PROBLEM: 我们可以使用https://account.lab.fiware.org/user?access_token=XXXXXXXXXXX调用从KeyRock查询用户信息 . 但是,根据KeyRock Web界面,它不包含有关用户所属组织的任何信息 . organizations元素是一个空数组 . 我们在json响应中获得了一堆角色,但它们都不是您从KeyRock中的"Manage your organization members"屏幕分配给用户的"members"角色 .

一些挖掘表明,在Fiware实验室上运行的Keystone实例包含信息(假设Keystone项目= KeyRock组织) . 但是,KeyRock提供的访问令牌在Keystone API上无论如何都是无效的 . 我们使用的API在这里可以访问:http://cloud.lab.fiware.org:4730/v3/从Keystone API获取新的访问令牌不是我们想要的,因为这将是与Wirecloud获得的不同的访问令牌,这将需要某种代理再次登录并检索组织成员资格 . 这相当违背了传递访问令牌的要点 .

这似乎是fiware实验室实例上KeyRock API中的一个错误 . 或者我错过了什么?或者如果我们在自己的服务器上安装keyrock,这个问题会神奇地消失吗?

谢谢你的帮助,罗宾

1 回答

  • 1

    你必须按照here解释的步骤,但使用特定的组织 . 可能你错过了"Authorize"步骤

相关问题