【发布时间】:2011-08-25 18:59:06
【问题描述】:
我正在研究直接从客户端 JavaScript 使用某些云存储的可能性。但是,我遇到了两个问题:
安全性 - 架构通常基于每个 cloud 客户端构建,因此只有一个 API 密钥(例如)。这是有问题的,因为我需要每个 my 用户的安全性。我无法为所有用户提供相同的 API 密钥。
跨域 AJAX。 浏览器可以使用 HTTP 标头来执行跨域请求,但这意味着我必须能够在云边。但是,我唯一需要做的就是能够添加自定义 HTTP 响应标头:Access-Control-Allow-Origin: otherdomain.com。
我的场景涉及大量来自 JS 客户端的简单队列消息,我想我会使用云来摆脱来自主要托管服务提供商的这些流量。 Windows Azure 有这个 Queue Service 部分,看起来和我需要的很接近,只是不知道这些问题能不能解决。
有什么想法吗?在我看来,云服务的 JavaScript 客户端在不久的将来是不可避免的场景。
那么,是否有一些带有 REST API 的云存储提供对客户端身份验证的管理并且不向他们提供 API 密钥?
【问题讨论】:
-
为什么需要直接与云存储通信 - 为什么这比与充当存储接口/看门人的云托管 Web 服务通信更好?
-
这是一个性能问题,尽管是假设性的。我只是觉得这会浪费资源。
-
正在研究相同的一般主题。 AWS 引入了 IAM,声称“管理联合用户的访问”,但还没有时间完全深入研究。同样,AWS 在实施 CORS (en.wikipedia.org/wiki/Cross-origin_resource_sharing) 之前似乎持观望态度,这将极大地促进这一领域。
-
@tillda 好奇:你为什么要尝试通过 JavaScript 做所有事情?是否与成本相关(不想为网络或工作者角色付费——尽管它们现在的价格仅为 0.02 美元/小时)——还是其他原因?
-
云存储应该是给用户的,在他们的账户下,或者给你,在你的秘密账户下。就像能够读取 js 文件的源代码一样,您不能同时拥有保密代码和仅客户端代码。
标签: javascript api azure amazon-web-services cloud