使用 Cognito User Pool Authorizer 和 Gateway API的文档只说我应该:
- 调用使用用户池授权方配置的 API 方法,在 Authorization 标头或您选择的其他标头中提供未过期的令牌。
网络上的其他一些文本也反映了这一点。
但是,当我尝试使用令牌时,我收到一条错误消息,提示缺少Credentials
, Signature
, Signed Headers
params (和Date
标头)。我使用的令牌很可能是正确的,因为通过了授权人的 web gui 中的测试。
我的问题有两个部分:
这是否意味着使用 Cognito 用户池授权器需要我签署每个请求?有没有办法将它配置为只接受一个有效的令牌?
如果我想保持对 Amazon Gateway 的 HTTP 调用简单并仅使用令牌对其进行授权(以便可以轻松地从 Python 后端等手动执行),我是否被迫使用 Lambda 编写自定义授权方?还是有更好的选择?