【发布时间】:2020-11-13 21:01:18
【问题描述】:
目前,我希望未经过身份验证和经过身份验证(使用 Cognito 用户池)的用户都能访问的资源上有一个方法。据我了解,API 网关仅允许方法经过身份验证或未经身份验证,因此如果我使用标准 Cognito 用户池授权方,它将拒绝所有未经身份验证的用户的访问。我现在的想法是编写一个自定义 lambda 授权器,它验证传递的 ID 令牌并转发声明或允许未经身份验证的用户通过。有没有更简单的方法可以做到这一点?
【问题讨论】:
-
您是否考虑过从客户那里处理这个问题?客户端必须将身份验证令牌转发给 API,如果不存在,只需将它们路由到“开放”端点,以相同的 Lambda 为目标。
-
是的,但是我想避免任何额外的客户端逻辑,因为我计划在不久的将来向我的最终用户发布面向公众的 API。理想情况下,重定向由 API Gateway 处理,您似乎在下面提供了答案。谢谢
-
这是有道理的。测试后提供一些反馈。
标签: amazon-web-services aws-lambda aws-api-gateway amazon-cognito