0

我有一个文件层次结构,可以从用户中心之一获取文件和文件夹。所有这些调用都在服务器端。这些调用可以驻留在客户端并且仍然保持安全吗?这些调用都没有来自我的 Forge 应用程序的客户端密码。为了澄清你能回答什么电话可以是客户端或服务器端的,并且仍然是 100% 安全的。

获得 3 条腿的身份验证(暴露客户端机密) - 在客户端是否安全

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

获取项目——在客户端是否安全

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

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

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

4

2 回答 2

1

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

"因为这意味着令牌在客户端公开,所以确保令牌对于 Viewer 对 viewables:read 范围的调用受到限制很重要,这限制了对最终用户的可查看输出文件(SVF、PNG_

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

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

于 2018-03-20T06:23:40.837 回答
1

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

通过这种方式,您只公开您想要/您的数据,并且可以更好地控制对它的使用,例如,您可以限制端点的使用率,从而避免使用您的密钥进行 DDOS 攻击。如果你使用 node.js 很简单:express-rate-limit

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

希望有帮助

于 2018-03-20T08:20:46.293 回答