如何在 jQuery 应用程序中为 azure table 存储创建 sas_token

How to create sas_token for azure table storage in jQuery app

我正在构建一个 jQuery 网络应用程序,它需要对 Azure Table 存储进行只读访问(并且一次只请求一条记录 - 我传入 PartitionKey 和 RowKey得到结果)。我包含了不错的 Azure 存储 JavaScript 客户端库来帮助简化我的代码 (https://azure.microsoft.com/en-us/blog/new-azure-storage-javascript-client-library-for-browsers-preview/)。

我正在挂断生成一个 SAS_TOKEN 来验证我对 Azure Table 的访问。我试图找到确切如何执行此操作的 JS 示例,但没有成功。对我来说唯一重要的请求参数是到期时间(2 分钟)。

Azure Storage JS 库似乎有一个 NodeJS 函数可以执行此操作,但我不知道如何使用 jQuery 代码访问它。而且我找不到一个纯 JS 示例来说明如何使用拼图的各个部分来创建 SAS 令牌。

这是一个 link 与我一直在使用的 table 存储相关的不错的 Azure JS 文档:https://dmrelease.blob.core.windows.net/azurestoragejssample/samples/sample-table.html

It seems like the Azure Storage JS library has a NodeJS function that will do this, but I don't know how to access that using jQuery code. And I can't find a pure JS example of how to take the various pieces of the puzzle to create the SAS token.

一般建议不要在客户端创建 SAS 令牌。为了创建 SAS 令牌,您需要帐户密钥,通过在客户端执行此操作,您会将帐户密钥暴露给用户(他们可以很好地查看源代码并获取帐户密钥)。任何拥有帐户密钥的人实质上都会成为该存储帐户的管理员。

推荐的方法是在您的应用程序中有一个服务器端端点负责生成 SAS 令牌。从客户端,您可以向此端点发出 AJAX 请求(使用 $.ajax)并获取 SAS 令牌。或者您可以在服务器端生成 SAS 令牌并将其作为参数传递给客户端。这样您就可以保护您的帐户密钥。