Fiware KeyRock API错误:未返回的组织的成员资格

时间:2016-04-17 09:56:11

标签: fiware keystone fiware-wirecloud fiware-wilma

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

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

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

  1. 用户登录Wirecloud并通过KeyRock登录屏幕进行定向。
  2. Wirecloud Widget从Wirecloud环境获取访问令牌。访问令牌是在用户登录时创建的。
  3. Wirecloud小部件查找用户所属的组织和角色。在此基础上,它将组织名称添加到其查询中。
  4. Wirecloud小部件使用刚创建的查询查询Web服务(Orion或其他)。
  5. 我们将Wilma PEP代理放在Wirecloud Widget和webservice之间,以验证用户是否是查询中组织的成员。
  6. 问题: 我们可以使用https://account.lab.fiware.org/user?access_token=XXXXXXXXXXX调用从KeyRock查询用户信息。但是,根据KeyRock Web界面,它不包含有关用户所属组织的任何信息。 organizations元素是一个空数组。我们在json响应中获得了一堆角色,但它们都不是您从KeyRock中的“管理组织成员”屏幕分配给用户的“成员”角色。

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

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

    感谢您的帮助, 罗宾

1 个答案:

答案 0 :(得分:1)

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