【问题标题】:Generate SAS token from JavaScript code?从 JavaScript 代码生成 SAS 令牌?
【发布时间】:2018-03-28 18:28:01
【问题描述】:

需要从客户端 JavaScript 生成 SAS 令牌,我访问了很多博客,没有任何用于生成 SAS 令牌的 JavaScript 代码的实时代码示例。 我想要一个用于从 JavaScript 生成 SAS 令牌的工作代码。

【问题讨论】:

    标签: javascript azure azure-storage


    【解决方案1】:

    在网上找到这个

    使用服务器端后端生成令牌是有原因的。为了生成令牌,您需要帐户密钥。您可以很好地使用客户端 JavaScript 生成一个 SAS 令牌,但为了做到这一点,您需要将帐户密钥公开给您的客户端应用程序,这是一个很大的安全风险,因为如果有人拥有您帐户的密钥,他们可以这样做任何与您的存储帐户有关的东西。因此,建议您使用服务器端应用程序创建 SAS 令牌,以免暴露您的帐户密钥。

    如果您仍希望使用客户端 JavaScript 创建 SAS 令牌,请参阅构建服务 SAS。基本上转到该链接底部标题为“构造签名字符串”的部分,并为此用 JavaScript 编写代码,并使用帐户密钥计算签名。

    https://docs.microsoft.com/en-us/rest/api/storageservices/Constructing-a-Service-SAS?redirectedfrom=MSDN

    【讨论】:

    • 该链接上的代码不适用于 JavaScript 我已经检查过了。
    • 完全同意这个答案。 +1。答案中提到的链接包含使用 JavaScript 编写代码所需的所有说明。如果您需要查看更接近客户端 JS 的实际实现,我建议您查看适用于 Azure 存储的 Node SDK:github.com/Azure/azure-storage-node
    【解决方案2】:

    Azure 存储团队已发布 Azure Storage JavaScript Client Library for Browsers 来解决您的使用案例。几个月前有一个official announcement 解释了它背后的基本原理。该库仍处于预览阶段,我找不到任何不同的 nuget 或 bower 包。

    正如其他人已经指出的那样,在您的应用程序中使用 SAS 时,请遵循公告中提到的推荐开发实践。幸运的是,using Shared Access Signatures (SAS) 这些天有很好的记录 - 以及对Azure Storage security 的更一般的指南。

    【讨论】:

      猜你喜欢
      • 2017-08-16
      • 1970-01-01
      • 2018-08-14
      • 2019-01-14
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多