gpt4 book ai didi

javascript - Azure 服务器无法对请求进行身份验证。确保授权 header 的值格式正确,包括签名

转载 作者:行者123 更新时间:2023-12-02 23:06:01 29 4
gpt4 key购买 nike

在此处输入代码我尝试使用 JavaScript 下载存储在 azure blob 中的文件并收到此错误。

这是我的代码

function getUrlOfAttachmentFileFromBlob(new_fileurl,new_fileName) {
var fileHyperlink = '';
var blobUri = 'https://' + 'Storage_Account_Name' + '.blob.core.windows.net';
var containerName = 'trial';
var sas_token = 'sastoken' ;

var blobService = AzureStorage.Blob.createBlobServiceWithSas(blobUri, sas_token);
//.withFilter(new AzureStorage.Blob.ExponentialRetryPolicyFilter());

var downloadLink = blobService.getUrl(new_fileName, new_fileurl.replace('/'+containerName+'/',''), sas_token);

if (downloadLink != null)
{
alert("Link " + downloadLink);
downloadURI(downloadLink, new_fileName);
}
}

我不会在这里生成共享签名和 sas token 。我直接将 sas token 分配给变量。

当我尝试在浏览器中打开链接时,出现此错误

AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:504f2ef5-f01e-0021-0e02-74e194000000
Time:2021-07-08T14:09:47.9951927Z</Message><AuthenticationErrorDetail>sp is mandatory. Cannot be empty</AuthenticationErrorDetail></Error>

我没有在代码中传递任何 header 。

我在这里缺少什么?

SAS Token =?sp=r&st=2021-07-08T12:19:08Z&se=2021-07-08T20:19:08Z&spr=https&sv=2020-02-10&sr=c&

Without sig part.

这是我从 geturl 函数得到的=

?%3Fsv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-07-11T12%3A30%3A23Z&st=2021-06-11T04%3A30%3A23Z&spr=https%2chttp&

我认为我没有从这个函数中获得正确的网址,所以我用这个替换了该行

const downloadLink = blobUri +'/' + containerName + '/' + new_fileName + sas_token;

但仍然无法下载文件。但没有收到身份验证错误。

谢谢...

最佳答案

您收到此错误的原因是您的 SAS token 无效。如果仔细查看错误消息,您将看到以下内容:

<AuthenticationErrorDetail>sp is mandatory. Cannot be empty</AuthenticationErrorDetail>

本质上,您的 SAS token 缺少签名权限 (sp) 参数。请检查您的 SAS token 并确保其格式正确。

关于javascript - Azure 服务器无法对请求进行身份验证。确保授权 header 的值格式正确,包括签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68303598/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com