具有自定义授权方的 lambda 可以使用控制台进行测试,但不能使用邮递员进行测试

lambda with custom authorizer works on test with console but not with postman

我有一个 lambda 函数可以在 AWS 控制台上进行测试。但是一旦我在 Postman 上进行测试,它就会给我以下响应

{
    "message": "Unauthorized"
}

我基本上在 header 上有一个授权,带有这样的 Bearer 令牌

Bearer <my token>

body 是空的,因为它只是一个获取端点。不确定我在邮递员的要求下遗漏了什么。任何建议表示赞赏。

确保 API 网关中的自定义授权器已正确配置(您也可以转到授权器并从那里进行测试)。然后确保调用该 lambda 的端点具有您的自定义授权方集。最后,如果您只是开发一些 lambda,使用 aws 控制台创建它们很好,但也许您最好使用 https://serverless.com/ 或 SAM 等无服务器部署框架。我发现即使是小型项目,它们也能让你以一种简单的方式更好地控制自己所做的事情,而且学习曲线并不难。 希望你解决它,祝你有美好的一天。

终于想通了。如果您使用 "Authorization" 作为令牌源和空白令牌验证(如下所示)的设置进行 posting 授权,则不要在 post伙计。仍然需要研究为什么会这样以及它是如何工作的(我不明白)。关于在哪里查看为什么当您 post 使用授权 header 时的任何帮助,一些 api 需要 "Bearer" 但这个不需要。