我有一个angularJS项目。我已经在我的脚本中包含了azure-blob-storage.js,并且我能够使用SAS而不是AD身份验证来获得访问权限。
我已将Azure Storage API权限添加到AD应用程序注册,并向存储帐户授予应用程序读取者和参与者角色。
adalAuthenticationService.acquireToken({clientId},
function(error, token) {
// Handle ADAL Error
if (error || !token) {
return;
}
}).then(function (token) {
var tokenCredential = new AzureStorage.Blob.TokenCredential(token);
var blobService = AzureStorage.Blob.createBlobServiceWithTokenCredential({myStorageAccountURI}, tokenCredential);
我得到以下错误:
<Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature....</Message>
<AuthenticationErrorDetail>Audience validation failed. Audience did not match.</AuthenticationErrorDetail></Error>
发布于 2018-08-29 03:25:15
错误Audience validation failed. Audience did not match.
表示令牌受众(=目标接收者)错误。您最有可能使用您的客户端id获取应用程序的令牌。您需要在调用acquireToken()时将其切换为https://storage.azure.com/
。
而且,您的用户还需要拥有对blob的读/写访问权限。)
https://stackoverflow.com/questions/52060174
复制相似问题