Amazon API Gateway IAM认证的示例与生成的JS SDK
Amazon API Gateway IAM authenticated example with generated JS SDK
我在Amazon API Gateway上按照官方文档创建了示例GET和POST API。我已经为这些api生成了JS SDK,我正在使用它从托管在S3上的客户端JS文件调用这些api。不需要任何"授权类型"就可以完美地工作。
现在,当我将GET方法的"授权类型"设置为"IAM"时,我需要通过IAM凭据才能使其工作。尽管传递了我的AWS帐户的根凭据,但我在响应头中得到了这个:
x-amzn-ErrorType:InvalidSignatureException:http://internal.amazon.com/coral/com.amazon.coral.service/
最后返回一个403错误码。
我的问题是:是否有人成功地尝试使用生成的javascript SDK从亚马逊API网关与IAM认证?你能指出我哪里做错了吗?
谢谢。
我在AWS论坛上的几个人的帮助下解决了这个问题。看来API Gateway GET方法需要一个空的主体。默认情况下,如果您遵循生成的JS SDK附带的README示例,则在body中传递'undefined'或只是'{}'会导致不匹配的有效负载,从而导致计算错误的签名。
到目前为止,我只是通过硬编码body = ''
在/lib/apigatewaycore/sigV4Client.js中做了一个小调整。
这应该是一个临时的锻炼,因为这可能会影响其他需要填充'body'的API网关方法。在我的例子中,只有GET方法。
相关文章:
- 在流星上使用微信js-sdk时出现拒绝权限错误
- 解析JS SDK登录到Node.JS中运行的解析服务器=失败
- Facebook JS SDK 发布的照片被裁剪
- 在 js sdk 中手动设置访问令牌
- using require.js with FB SDK
- Facebook JS SDK注销问题-预期检测到可疑登录
- Facebook js-sdk可以't检索已登录用户的名称
- Sencha Touch、Apigee JS SDK和Phonegap可以在浏览器中工作,但不能在IOS中工作
- 如何正确加载SoundCloud JS SDK用于流媒体
- 未使用传递给Soundmanager(通过Soundcloud JS SDK)的选项
- 从服务器向AWS JS SDK发送签名,而不是使用纯文本密钥
- 无法收听歌曲n°7025067与deezer js-sdk
- SoundCloud JS SDK get handler not executing
- Facebook JS SDK.我如何使用Facebook登录,而无需用户实际登录Facebook
- Facebook PHP SDK相对于PhoneGap上的JS SDK的优势
- Download Facebook JS SDK
- 使用 js sdk 触发 facebook 操作“喜欢”
- 如何在 Firefox 插件 sdk 扩展中使用 main.js 的 XMLHttpRequest.(或类似的东西)
- Facebook连接:Can't使用PHP SDK+JS SDK注销
- Google Drive SDK JS文件上传和下载(访问内容)