【发布时间】:2020-02-06 01:47:34
【问题描述】:
我在 ECR>ECS>Fargate 上部署了一个简单的 Flask 应用程序。该应用程序正在由 Application Load Balancer 加载,并且 Cognito 用于身份验证。
我的回调地址是https://ApplicationLoadBalancer的DNS/oauth2/idpresponse
如果我尝试https://ApplicationLoadBalancer'sDNS 一切正常,会弹出登录页面,我可以毫无问题地登录。
但是,如果我尝试使用 Cognito 中域名下设置的 https://.auth.us-east-1.amazoncognito.com,我只会得到一个空白页。如果我更进一步并尝试 https://.auth.us-east-1.amazoncognito.com/login 我得到'必需的字符串参数'client_id'不存在'
非常感谢任何帮助。
谢谢!
【问题讨论】:
-
似乎您误解了 cognito 中的域以及您的应用程序域 URL。 Cognito 域是您与 cognito 交互以执行身份验证和授权的公共 URL。它不适合您的应用程序。
-
感谢您的回复!这很有意义!您是否知道如何为 Application Load Balancer 中的 Web 应用程序设置自定义 url,并且仍然具有 Cognito 的身份验证?现在我正在使用 ALB 的 DNS,但是 SSL 证书不起作用。
-
如果您已经有一个域,您可以使用 Route53 设置它,然后创建指向您的 ALB 的别名条目,可以使用 ACM 完成证书(您可能需要手动批准证书)。如果您没有任何域,只需 ALB 公共网址即可。
-
感谢您的帮助!我真的很感激!!我已经尝试过 Route53,我尝试指向 DNS,但我从未看到登录模式页面,并且我在浏览器上得到 error=redirect_mismatch。另一件事,如果您可以直接从浏览器访问它,那么在 Cognito 上设置域名有什么意义?非常感谢!!!
-
这个人的问题和我的很相似:forums.aws.amazon.com/…
标签: amazon-cognito amazon-ecs aws-application-load-balancer