我可以在客户端调用哪些Data Managment API?

时间:2018-03-20 01:03:28

标签: node.js rest security autodesk-forge autodesk-data-management

我有一个文件层次结构,可以从其中一个用户集线器获取文件和文件夹。所有这些调用都在服务器端。这些呼叫可以驻留在客户端并仍然保持安全吗?这些调用都不会让我的客户端对我的Forge应用程序保密。为了澄清,您可以回答客户端或服务器端的呼叫,并且仍然是100%安全的。

获得3条腿认证(暴露客户机密) - 在客户端安全与否

获取集线器 - 在客户端安全与否

获取项目 - 在客户端安全与否

在文件夹中获取文件 - 在客户端是否安全

获取文件版本 - 在客户端是否安全

下载文件 - 在客户端安全与否

2 个答案:

答案 0 :(得分:1)

正如您在本文中所读到的那样:https://developer.autodesk.com/en/docs/oauth/v2/overview/scopes/ Autodesk说明了在客户端只有范围可见的范围:read应该可用。

因为这意味着令牌在客户端公开,所以确保令牌限制为查看者对可查看者的调用是非常重要的:读取范围限制了对最终用户可见的访问权限输出文件(SVF,PNG等)。这在双腿环境中尤其重要,在这种情况下,恶意最终用户可以使用无范围的令牌代表开发人员在平台上执行操作并破坏开发人员的数据。

我不知道您正在构建什么样的应用程序,但您必须问自己,您的用户可以使用您提供的范围做什么。

由于您为整个帐户而不是特定存储桶提供范围,因此您也可以问自己,有权访问文件夹“a”的客户是否也可以看到文件夹“b”的内容。

答案 1 :(得分:1)

由于您需要公开具有特定范围的令牌(数据:读取,数据:写入或两者都有...),因此在客户端上调用都不是安全的。保护应用程序的方法是仅从服务器执行对Forge的所有调用,然后通过受控端点(如latest article中的REST或GraphQL)在客户端上公开所需的功能。

通过这种方式,您只公开所需的数据,并且可以更好地控制使用它的用途,例如,您可以限制端点的使用率,以便使用密钥避免DDOS攻击。如果您使用node.js,则很容易:express-rate-limit

保护Web应用程序是一个非常广泛的主题,您可能希望探索许多领域,但请记住,暴露给客户端的所有内容都被视为不安全。

希望有所帮助