如何在不暴露我的用户名和密钥的情况下将文件从我的 Web 应用程序上传到 SoftLayer?

How can I upload files to SoftLayer from my web app without exposing my username and key?

我正在使用 IBM 的 SoftLayer 对象存储,它类似于 Amazon 的 S3。

在我的网络应用程序中,我允许用户上传文件。当前,Web 应用程序与我的 RESTful API 通信,后者随后与 SoftLayer 对象存储 API 通信。与 SoftLayer 的通信需要用户名和密钥——这些都是保密的。

因为上传文件可能很大,我想绕过 API 并直接从我的 Web 应用程序与 SoftLayer 通信。我相信这是可能的,但问题是我将通过 JavaScript.

中应用程序的公开可见源公开我的用户名和密钥

SoftLayer 有解决这个问题的方法吗?

S3 似乎可以实现类似的功能:

您可以生成一个 24 小时有效的令牌,这样就无需在每次调用时都使用凭据。

您可以通过 REST API 将此 "token" 用于 Get/Create/Delete 容器、文件。

请参阅以下 link 中的 "Authenticating to the Object Storage" 部分:

Managing SoftLayer Object Storage Through REST APIs

此外,您将在此 link 中找到有关通过 REST API 使用 SoftLayer 对象存储的更多信息。