【发布时间】: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