クライアントがストレージアカウントのすべてのコンテナにアクセスできるように、アカウントレベルの共有アクセスサインを作成しようとしています。私はこれらの文書Account SASに従っています。それはまっすぐ進むようですが、次のエラーメッセージが表示され続けます:Azureアカウント共有アクセスのサイン
"署名が一致しませんでした。使用する文字列はaccountname \ nrl \ nb \ nsc \ n \ n2016-10-09 \ n \ n \ n2015 -04-05 \ n "
私のパラメータは同じですので、私はどのように私は文字列を署名するためにハッシュしていると関係があると思われる。以下は、私がトークンを構築する方法です。
var crypto = require('crypto');
var accountName = 'accountname';
var accountKey = 'tH37FTlG3TUT86caMrt2y5kOzof8nFqqA6spzg6r7HPRojE1zDiLJD/xE4oLFDh4RNqAmymvlV7fm8W4SF8cJg==';
var signedPermissions = "sp=rl";
var signedServcies = "ss=b";
var signedResourceType = "srt=sc";
var signedExpiry = "se=2016-10-09";
var signedVersion = "sv=2015-04-05";
var stringToSign = accountName + "\n" + signedPermissions + "\n" + signedServcies + "\n" + signedResourceType + "\n" + signedExpiry + "\n" + signedVersion + "\n";
var hmacsha256 = crypto.createHmac('sha256', accountKey).update(stringToSign).digest('base64');
var token = signedPermissions + "&" + signedServcies + "&" + signedResourceType + "&" + signedExpiry + "&" + signedVersion + "&sig=" + hmacsha256;
私もcrypto-jsを使ってみましたが、役に立たなかったです。コンテナ内のブロブにアクセスするために使用される最終的なURLは、私は日のためにしようとしていると、本当に私が間違ってやっている知っていただければ幸いです...
です。ありがとう。
これはあなたの実際のアカウントキーだった場合、私は、このキーを持つ人があなたのアカウント –