首页 > 解决方案 > AWS 上的重定向,当使用 ALB + Cognito + ECS 时

问题描述

我想设置一个由多个微服务组成的后端。他们使用 Fargate 进行配置。任务在私有子网中运行,该子网连接到公共子网中的应用程序负载均衡器 (ALB)。与 ALB 关联的目标组指向集群。直到这里没有什么特别的,一切正常。

但是,我想将身份验证卸载到 AWS Cognito。我添加了一个用户池、一个应用程序客户端等。我可以使用我的测试用户登录,但之后会收到一个401 Authorization Required. 我想code grant从 OAuth2 使用。这甚至可以通过 ALB 实现,还是我需要 API 网关?如果可能的话,我如何在我的应用程序客户端中设置回调 url?成功授权后,cognito 应该重定向(带有回调 url)到由 ALB DNS 公开的 ECS 服务。但是,ALB 将再次尝试进行身份验证,这是 ALB 中的第一条规则。我想我错过了回调 url 的配置,还是我必须在后端创建额外的路径?

目前我有这些回调网址:

总而言之,我想创建这个架构

ALB --> TargetGroup --> AWS Cognito (code grant) --> ECS

标签: amazon-web-servicesoauth-2.0amazon-cognitoopenid-connectaws-application-load-balancer

解决方案


推荐阅读