首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS Cloudfront返回缺少的密钥对Id查询参数或Cookie值

AWS Cloudfront返回缺少的密钥对Id查询参数或Cookie值
EN

Stack Overflow用户
提问于 2017-09-28 20:57:09
回答 3查看 5.1K关注 0票数 4

我有返回Cloud Front签名Cookie值的代码。

代码语言:javascript
运行
复制
CookiesForCustomPolicy signedCookiesUrl = AmazonCloudFrontCookieSigner.GetCookiesForCustomPolicy("https://example.cloudfront.net/movies/nature.mp4", new StreamReader(File.OpenRead(Path.Combine(AppContext.BaseDirectory, "pk-2.pem"))),"APKEXAMPLEKEYID", DateTime.Now.AddDays(10), DateTime.Now, null);

我使用返回值来请求对象,但是返回

代码语言:javascript
运行
复制
<Error>
<Code>MissingKey</Code>
<Message>
Missing Key-Pair-Id query parameter or cookie value
</Message>
</Error>. 

我通过PostMan工具对此进行了测试,将头文件和直接请求通过Chrome浏览器,仍然得到相同的错误。

我使用了正确的Cloudfront密钥对和正确的资源URL。我的对象是私有的,cloudfront可以访问它。为了让它正常工作,我还需要做什么吗?

EN

回答 3

Stack Overflow用户

发布于 2020-08-19 04:51:46

当我们使用PUBLIC_KEY和PRIVATE_KEY时,我们会得到丢失的密钥对Id。我们应该使用访问密钥Id而不是PUBLIC_KEY,这样它就会完美地工作。

票数 1
EN

Stack Overflow用户

发布于 2017-09-29 18:27:23

添加头部密钥对

这些不是原始报头,它们是cookies。虽然我不使用邮递员,但听起来这是你的问题:

根据您所说的,您不会像这样添加它们:

代码语言:javascript
运行
复制
[CloudFront-Key-Pair-Id, APKEXAMPLEQQ]

相反,它应该看起来更像这样:

代码语言:javascript
运行
复制
[Cookie, CloudFront-Key-Pair-Id=APKEXAMPLEQQ]
票数 0
EN

Stack Overflow用户

发布于 2017-09-30 13:35:15

下面是C#中带签名的网址的示例。

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CreateSignatureInCSharp.html

返回签名密钥时,可以返回查询字符串参数或Cookie。

您可以通过两种方式将cookies返回到API网关:任意集成和原样返回headers。

如果您使用其他方法,则需要返回json数据,并将json数据映射到API Gateway中的headers。

http://docs.aws.amazon.com/apigateway/latest/developerguide/request-response-data-mappings.html#mapping-response-parameters

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46469769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档