作为FINISH加速器的一部分,我们正在使用FIWARE KeyRock和Wirecloud。目前,我们正在使用Fiware实验室全球实例进行调查。
我们希望限制我们的系统,以便用户只能查看属于他们所属组织的数据。
以下流程似乎合乎逻辑,但如果我错了,请纠正我:
问题: 我们可以使用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,这个问题会不会消失?
感谢您的帮助, 罗宾