如果令牌无效,我不希望请求失败,并且未经授权'。相反,我仍然希望在我的lambda中获得请求,尽管没有索赔数据,并从那里决定该做什么。
这意味着我希望Cognito Authorizer可以作为JWT令牌的翻译,当它可用且有效时。
答案 0 :(得分:2)
您不能以这种方式使用API Gateway的内置Cognito Userpool授权程序。它将始终在无效凭据上返回Unauthorized。为了您的使用,您必须使用自定义授权器。您始终可以返回允许策略并仅在有效令牌上返回一些声明数据(使用增强上下文)。
我必须说,授权人不是为此而设计的。您似乎只想在后端使用声明数据,并在它们有效时使用它们。如果令牌无效,请忽略它们。如果是这样,您不需要使用授权人。您可以直接将令牌传递给后端&编写一个代码(与Custom Authorizer的代码片段相同)来填补JWT& amp;的有效性。提取有效索赔。有多个第三方库可以简化这个过程。只需几行代码即可完成此令牌验证(&声明提取)。
修改强>
要验证令牌,您需要:
这是一个包含您想要的代码的AWS博客: https://aws.amazon.com/blogs/mobile/integrating-amazon-cognito-user-pools-with-api-gateway/