如何在不引起Lambda错误的情况下从API网关中的自定义授权者返回401未经授权?

时间:2019-10-16 15:03:03

标签: node.js amazon-web-services authorization aws-api-gateway amazon-cognito

我有一个使用Lambda中的Node JS的AWS Cognito的自定义授权者,并且效果很好。基本上是使用this tutorial中提供的代码。

我的自定义授权者可能会通过多种方式失败:用户使用了错误的池,用户提交了无效的授权令牌等。每当发生这种情况时,我都会致电:

      context.fail("Unauthorized");

,效果也很好。

不幸的是,当用户的令牌过期时(这种情况一直发生,特别是如果有人打开浏览器,这是早上的第一件事),我也调用了相同的方法,这是我知道的唯一方法401讯息。这样可以正常工作,并且用户将返回到登录页面。

问题是,在我的Cloudwatch仪表板中,我们正在监视代码损坏/可疑活动,每次有人打开浏览器时,我们都会看到Lambda错误。这非常吵闹,很难捕捉到有人在做可疑的事情。

enter image description here

所以我的问题是:如何使授权者失败,返回401(或其他),没有执行REST API,也没有在CloudWatch中显示错误?

0 个答案:

没有答案