【问题标题】:Connect to Azure Batch service from browser jQuery ajax REST call从浏览器 jQuery ajax REST 调用连接到 Azure Batch 服务
【发布时间】:2018-03-23 09:35:02
【问题描述】:

我可以使用帐户名和 base64 身份验证密钥访问 Azure 批处理服务。一位同事编写了一个批处理服务,用于检索文件、处理它们并将它们返回到指定位置。这些文件存储在 SharePoint 库中,批处理服务工作正常。我们想做的是从浏览器中,在 jQuery/ajax 中设置一个 ajax 调用,以正确创建正确的标头和正确的身份验证信息来执行此请求。我找到了一些文档,但没有真正的例子可以工作,因为我主要以错误告终:

在 HTTP 请求中找到的 MAC 签名与任何计算的签名都不相同。

它显示了它用来创建密钥的内容,所以我想我会做同样的事情,但它仍然不起作用,我得到了同样的错误。

【问题讨论】:

    标签: jquery rest azure sharepoint-2013 azure-batch


    【解决方案1】:

    很高兴批处理服务部分运行良好。

    关于错误消息:"The MAC signature found in the HTTP request is not the same as any computed signature." 针对存储服务发出的每个请求都必须经过身份验证,在这种情况下,它与 Azure 存储的身份验证有关。

    另外,请在此处查看过去发生的类似问题:

    Azure 存储的身份验证不仅仅是提供 访问密钥(这不是很安全)。你需要创建一个 表示给定请求的签名字符串,对字符串进行签名 使用 HMAC-SHA256 算法(使用您的存储密钥进行签名),以及 以 base 64 编码结果。见 https://msdn.microsoft.com/en-us/library/azure/dd179428.aspx 完整版 详细信息,包括如何构造签名字符串。

    【讨论】:

    • 感谢您的回复!我找到了其中的大部分,但似乎没有一个可以帮助我在网络浏览器 javascript/jQuery 中找到答案。我确信其中大部分是因为需要在 base64 和 UTF8 之间执行各种转换,但没有使用基于 Web 的 javascript 来执行此操作的真实示例。我可能最终不得不从服务中使用 c#,只是向它发送一个 ajax 调用,但不确定。
    • 酷,完全没有问题! :)如果您有任何代码要分享,请随意。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2014-07-20
    • 2023-04-07
    • 2015-01-04
    相关资源
    最近更新 更多