【发布时间】:2017-12-16 00:54:52
【问题描述】:
我正在尝试在 node.js 中的 base64 中对 Amazon s3 存储桶策略进行编码以用于签名(更具体地说是 StringToSign),但似乎无法正确获取代码。
我使用亚马逊提供的默认策略进行测试,因为它们提供了正确的 base64 编码。 (The example given by amazon)
他们的输出是eyAiZXhwaXJhdGlvbiI6ICIyMDE1........(保持简短,因为它很长)
我不断收到eyJleHBpcmF0aW9uIjoiMjAxNS0xMi0zMFQx.....
我的生成代码是:
var policyString = JSON.stringify(policy)
var policyBytes = utf8.encode(policyString)
var stringToSign = base64.encode(policyBytes)
其中policy 是一个以JSON 格式保存亚马逊政策的变量,utf8 和base64 是节点模块。
这听起来像是一个新手问题,但我已经盯着它看了一段时间了,任何帮助都将不胜感激!
【问题讨论】:
-
你能提供你的base64编码值的完整输出吗
-
如果我理解正确,aws sdk 提供了这个功能:docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/… 你可以查看源代码以了解他们如何计算它的详细信息:github.com/aws/aws-sdk-js/blob/…
标签: javascript node.js amazon-web-services amazon-s3 base64