为啥 <domain>.auth.us-east-1.amazoncognito.com 给我一个空白页?

Posted

技术标签:

【中文标题】为啥 <domain>.auth.us-east-1.amazoncognito.com 给我一个空白页?【英文标题】:Why <domain>.auth.us-east-1.amazoncognito.com gives me a blank page?为什么 <domain>.auth.us-east-1.amazoncognito.com 给我一个空白页? 【发布时间】: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/… 【参考方案1】:

所以我终于得到了这个答案。

与在回调中使用 ALB 的 DNS 不同,使用 Route 53 将您的 ALB 转发到您的自定义域更容易,然后在 Cognito 的回调中使用自定义域。

【讨论】:

以上是关于为啥 <domain>.auth.us-east-1.amazoncognito.com 给我一个空白页?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 NSURLConnection 失败,错误 Domain=NSURLErrorDomain Code=-1005 “网络连接丢失。”在 Swift iOS8 中?

javax.net.ssl.SSLPeerUnverifiedException:<sub.app.domain> 的证书与任何主题替代名称都不匹配:[*.app.domain]]

Spring Security 使用 JBoss <security-domain>

怎样删除Weblogic Domain

HTTPS 主机名错误:应该是 <sub.domain.com>。这是啥原因造成的?

为啥新页面的ajax请求中没有携带Cross-Domain Cookies?