【问题标题】:BIM 360 Check PermissionsBIM 360 检查权限
【发布时间】:2020-02-11 05:53:54
【问题描述】:

我创建了一个对文件夹仅具有查看权限的用户。在检查用户是否具有管理员权限时,返回的值应该为假时为真。

我们的应用程序正在使用 3 legged Oauth。我已经通过 Postman 使用两条腿的身份验证进行了测试,并收到了正确的响应。该问题似乎仅在使用 3 腿授权时相关。我已通过向https://developer.api.autodesk.com/userprofile/v1/users/@me 发出 GET 验证了与令牌关联的用户 ID

要检查用户的权限,我正在向:https://developer.api.autodesk.com/data/v1/projects/my-project-id/commands

{
   "jsonapi":{
      "version":"1.0"
   },
   "data":{
      "attributes":{
         "extension":{
            "data":{
               "requiredActions":[
                  "admin"
               ]
            },
            "type":"commands:autodesk.core:CheckPermission",
            "version":"1.0.0"
         }
      },
      "relationships":{
         "resources":{
            "data":[
               {
                  "type":"folders",
                  "id":*folder-urn-goes-here*
               }
            ]
         }
      },
      "type":"commands"
   }
}

【问题讨论】:

  • (1) 你说它与 2LO 一起工作,你在使用模拟吗? (2) 这仅适用于该用户还是适用于所有人? (3) 您的应用使用的 3LO 范围是什么?
  • 在执行 2LO 时,我使用我们的客户端 ID、客户端密码并请求数据范围:读取。然后我使用返回的访问令牌并添加 x-user-id 标头来指定我希望检查的帐户。这按预期工作。对于 3LO,我解码了访问令牌并验证它是否包含正确的用户 ID 和指定的 data:write、data:read、data:create 范围。我只用两个帐户进行测试;一个对所有文件夹具有管理员权限,另一个仅具有查看权限。

标签: autodesk-forge autodesk-data-management


【解决方案1】:

这是我所做的:

在产品上,我的测试账号,设置权限为View

对于该用户,获得一个三足代币

发布https://developer.api.autodesk.com/data/v1/projects/b.abcd-1234/commands

{
   "jsonapi":{
      "version":"1.0"
   },
   "data":{
      "attributes":{
         "extension":{
            "data":{
               "requiredActions":[
                  "admin"
               ]
            },
            "type":"commands:autodesk.core:CheckPermission",
            "version":"1.0.0"
         }
      },
      "relationships":{
         "resources":{
            "data":[
               {
                  "type":"folders",
                  "id":"urn:adsk.wipprod:fs.folder:co.abcd1234"
               }
            ]
         }
      },
      "type":"commands"
   }
}

回应

{
    "jsonapi": {
        "version": "1.0"
    },
    "data": {
        "type": "commands",
        "id": "05526951-238f-4d62-9b6f-45802bd78a1e",
        "attributes": {
            "status": "complete",
            "extension": {
                "type": "commands:autodesk.core:CheckPermission",
                "version": "1.0",
                "schema": {
                    "href": "https://developer.api.autodesk.com/schema/v1/versions/commands:autodesk.core:CheckPermission-1.0"
                },
                "data": {
                    "requiredActions": [
                        "admin"
                    ],
                    "permissions": [
                        {
                            "type": "folders",
                            "id": "urn:adsk.wipprod:fs.folder:cabcd1234",
                            "permission": false
                        }
                    ]
                }
            }
        },
        "relationships": {
            "resources": {
                "data": [
                    {
                        "type": "folders",
                        "id": "urn:adsk.wipprod:fs.folder:co.abcd1234",
                        "meta": {}
                    }
                ]
            }
        }
    }
}

正如预期的那样,requiredActions:admin"permission": false

【讨论】:

  • 我创建了一个新的测试帐户,我确实收到了预期的响应。但是,当我期望为假时,原始测试帐户仍然返回真。如果您想私信我,我可以与您分享帐户信息
  • 我看到您(或您的团队)与我们联系,但没有您的直接电子邮件...您可以通过 autodesk dot com 的 forge.help 与我们联系吗?
猜你喜欢
  • 2020-06-24
  • 2021-10-30
  • 2021-03-31
  • 2021-07-05
  • 2021-08-01
  • 2019-08-27
  • 2018-07-02
  • 2019-05-09
  • 2020-05-15
相关资源
最近更新 更多