从JavaScript代码生成SAS令牌?

时间:2017-10-17 06:27:17

标签: javascript azure azure-storage

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

2 个答案:

答案 0 :(得分:2)

在网上找到这个

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

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

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

答案 1 :(得分:0)

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

正如其他人已经注意到的那样,在您的申请中使用SAS时,请遵循公告中提到的推荐开发实践。幸运的是using Shared Access Signatures (SAS)目前已有详细记录 - 以及Azure Storage security的更一般指南。