【发布时间】:2018-05-05 00:04:19
【问题描述】:
我目前正在尝试使用 API Gateway + Lambda 上的无服务器框架来实现 Express 应用程序。一切都按预期进行,直到我开始在我们这边引入请求签名。签名的工作方式是使用秘密令牌对包括查询字符串在内的完整 URL 进行签名。不幸的是,似乎 API Gateway 或 Cloudfront 正在按字母顺序重新排序查询字符串,这导致我们这边生成的校验和与客户端生成的校验和不同。
我们的 Express 服务器看到的内容:
https://example.com/endpoint?build_number=1&platform=ios
客户端发送的内容:
https://example.com/endpoint?platform=ios &build_number=1
如您所见,查询参数按字母顺序重新排序,这不是我所期望的。
有什么想法吗?
【问题讨论】:
标签: node.js express aws-lambda aws-api-gateway serverless-framework