Fiware IDM-Keyrock:如何使用keyrock API检查用户是否具有某些权限(permission_fiware)

时间:2015-11-05 12:59:58

标签: fiware

我在Horizo​​n中创建了一些权限(permission_fiware表),其中包含可能或无法看到的URL。我创建了具有此权限的权限(名称:上传图像,资源:“/ image_upload”)和角色(role_fiware)admin。 现在我想检查登录到我的应用程序的某个用户是否可以在我在视野权限中定义的URL“/ image_upload”上查看该页面。所以我的猜测是我应该首先检查用户具有哪些角色,之后是否应该分配用户的角色具有必需的权限。 那么,我的问题是下一个: 如何列出特定用户拥有的权限。 在Keyrocks API:

http://docs.keyrock.apiary.io/#reference/keystone-extensions/role-user-relationships/list-users-role-assignments

我找到了如何列出特定角色的所有权限

http://keyrock/OS-ROLES/roles/role_id/permissions

但是如何获取有关将哪些角色(role_fiware)分配给用户的信息?

1 个答案:

答案 0 :(得分:2)

正如FIWARE-IDM documentation使用user对您的IDM主机的资源access_token发出请求,将返回用户信息,在该信息中您将找到角色用户已分配:

GET
/user?access_token=XXXXXXXXXXXXXXXXXXXX


Response:

{
  "organizations": [{
    "website": "",
    "city": "",
    "name": "Franchise1",
    "img": "/static/dashboard/img/logos/small/group.png",
    "domain_id": "default",
    "enabled": true,
    "id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "roles": [{
      "name": "Franchise manager",
      "id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }],
    "email": "",
    "description": "Test Organization"
  }],
  "displayName": "user1",
  "roles": [{
    "name": "End user",
    "id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  }],
  "app_id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "email": "user1@test.com",
  "id": "user1"
}