我目前有一个使用HTML / Javascript和AngularJS构建的网站。我很难将图像作为blob上传到Azure,因为我不知道如何生成SAS令牌。我正在使用https://github.com/kinstephen/angular-azure-blob-upload中的上传服务,但需要使用SAS令牌才能获取要上传的文件。
我找到的几乎所有示例都使用后端生成令牌,但此应用使用AngularJS作为后端。
答案 0 :(得分:1)
我找到的几乎每个例子都使用后端来生成令牌 这个应用程序使用AngularJS作为其后端。
使用服务器端后端生成令牌是有原因的。要生成令牌,您需要帐户密钥。您可以使用客户端JavaScript生成SAS令牌,但为了做到这一点,您需要将帐户密钥公开给您的客户端应用程序,这是一个很大的安全风险,因为如果有人拥有您帐户的密钥,他们可以做任何与您的存储帐户。因此,建议您使用服务器端应用程序创建SAS令牌,这样就不会公开您的帐户密钥。
如果您仍希望使用客户端JavaScript创建SAS令牌,请参阅Constructing a Service SAS
。基本上转到该链接底部标题为Constructing the Signature String
的部分,然后使用JavaScript编写代码,并使用帐户密钥计算签名。