服务器无法验证请求。确保包括签名在内的Authorization标头的值正确形成。错误?

时间:2019-04-16 12:59:26

标签: angular azure-storage-blobs azure-blob-storage

我正试图通过打字稿中的angular-azure-blob-service使用SAS令牌将文件上传到Azure blob存储,我将以下数据传递到服务中存在的上载方法:

对象:

baseUrl: "https://xxxxxxxxx.blob.core.windows.net/containername/xx-image.png"
blockSize: 65536
complete: ƒ ()
error: ƒ (err)
file: File {name: "abc-image.png", lastModified: 1502710846384, lastModifiedDate: Mon Aug 14 2017 17:10:46 GMT+0530 (India Standard Time), webkitRelativePath: "", size: 17605, …}
progress: ƒ (percent)
sasToken: "?sv=2018-03-28&sr=b&sig=3whdfgdfzCeW0FSaZvmNfxh%2FdcUEcpjqmR%2BA%2FRlzHq8%3D&st=2019-04-16T12%3A46%3A47Z&se=2019-04-16T12%3A56%3A47Z&sp=w"

当我传递以上数据时,出现以下错误:

  

错误:“ AuthenticationFailed服务器   无法验证请求。确保值   授权标头格式正确,包括   ↵RequestId:85189ba5-c01e-013f-614a-f4a448000000↵时间:2019-04-16T11:53:02.4545120Z签名不匹配。用于签名的字符串原为   w↵2019-04-16T11:46:46Z↵2019-04-16T11:56:46Z↵/ blob / xxxxxx / companylogo /背景滑块。PNG↵↵↵↵2018-03-28↵↵↵↵↵“   标头:HttpHeaders {normalizedNames:Map(0),lazyUpdate:null,   lazyInit:ƒ}消息:“ HTTP失败响应为   https://xxxxxx.blob.core.windows.net/containername/background%20slider.PNG?sv=2018-03-28&sr=b&sig=JhdFAXD7P0QwyjAhClo9Axry%2FSSLp8POIQx4vJ0vxJ0%3D&st=2019-04-16T11%3A46%3A46Z&se=2019-04-16T11%3A56%3A46Z&sp=w&comp=block&blockid=YmxvY2stMDAwMDAw:   403服务器无法验证请求。确保值   授权标头的格式正确,包括签名。”   名称:“ HttpErrorResponse”确定:错误状态:403 statusText:“服务器   无法验证请求。确保值   授权标头的格式正确,包括签名。”   网址:   “ https://xxxxxxxxxxx.blob.core.windows.net/containername/background%20slider.PNG?sv=2018-03-28&sr=b&sig=JhdFAXD7P0QwyjAhClo9Axry%2FSSLp8POIQx4vJ0vxJ0%3D&st=2019-04-16T11%3A46%3A46Z&se=2019-04-16T11%3A56%3A46Z&sp=w&comp=block&blockid=YmxvY2stMDAwMDAw”   原始:对象

1 个答案:

答案 0 :(得分:0)

您是否愿意使用Azure AD RBAC将Blob上传到Azure存储到您的帐户中?如果您只想上传文件,则此方法比使用SAS令牌要容易得多。有了此功能,您可以使用从Azure AD获取的访问令牌访问存储,而无需组成SAS令牌。有关详细信息,请参阅:https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad