Api 网关阶段的不同 Cognito 池授权者
Posted
技术标签:
【中文标题】Api 网关阶段的不同 Cognito 池授权者【英文标题】:DIfferent Cognito Pool Authorizer by Api Gateway Stages 【发布时间】:2018-08-07 14:35:05 【问题描述】:我们的 API 网关有 3 个阶段(开发、测试、生产),它们使用 Cognito 用户池授权器进行授权,每个阶段都有不同的用户池,因此此配置必须是动态的。
问题:如何为我的 API 配置授权器,以便每个 API 阶段检查正确用户池中的授权?
PS:Authorizer 不是自定义的 lambda 函数,它是默认的 Cognito 授权器。
【问题讨论】:
如果您找到了解决方案,请将其添加为答案。 我没有找到任何解决方案... 我还没有找到足够的 API Gateway + Lambda 后端开发/生产阶段,其中开发阶段可以轻松更新,而生产就像一些手动推送的开发快照。我最终为 dev 和 prod 提供了两个 API 网关实例,使用相同的 lambda,但没有任何参数化(因为最后一个需要为每个 lambda 手动设置权限)。它依赖于 lambda 将比 API 网关本身更快地更改的想法。对于使用的 dev $LATEST lamdas 版本,对于 prod 手动选择的版本。 lamdas 通过阶段变量获取上下文。 【参考方案1】:根据this 线程,AWS 目前不支持这个。
您最好的选择似乎是multi-stack 解决方案,在该解决方案中,您拥有针对不同环境的单独 API,而不是阶段。
【讨论】:
更多信息帖子不再可用。 哦,那很不幸...感谢您指出@DrCord - 我会删除它。 如果您回忆起该信息或可以找到其他类似内容的链接,最好将其包含在内。祝你有美好的一天!【参考方案2】:您可以使用 StageVariables
stage variables
authorizer
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于Api 网关阶段的不同 Cognito 池授权者的主要内容,如果未能解决你的问题,请参考以下文章
如何在 API 网关中通过混合 Cognito 身份和用户池来授权 API
使用 Lambda 授权方的 AWS Cognito 和 API 网关
使用带或不带 cognito 的 aws api 网关的联合身份的轻量级 rbac