转到自定义 AWS Cognito UI 页面时:
https://<your_domain>/login?response_type=code&client_id=<your_app_client_id>
出现以下错误:
请求的页面遇到错误。
查看错误
无效_请求
就我而言,验证电话号码时出现一些问题。所以切换回电子邮件。
这份文件适合检查一切。
除非短信发送设置未完成,否则请勿选择电子邮件或电话选项。电子邮件或电话实际上仅退回到电话号码。阅读警告消息。
TLDR:如果您将 AWS 用户池与 Cognito 应用程序客户端结合使用,并且拥有通过自定义 DNS 条目公开的应用程序负载均衡器(例如
custom-domain.com
,必须通过 SSL 进行保护),请将此自定义域用于 Cognito如果是 AWS 创建的随机 DNS 名称,则为应用程序客户端的回调 URL(即 https://custom-domain.com/oauth2/idpresponse
)。
我遇到了同样的错误,这个问题为我解决了。我将用户池与 Cognito 应用程序客户端结合使用,并首先使用 AWS 为其创建的 DNS 名称作为回调 URL(
<load balancer name>-<random number>.<region>.elb.amazonaws.com
,即 "callbackUrl": "https://<load balancer name>-<random number>.<region>.elb.amazonaws.com/oauth2/idpresponse
)。我还为自定义域创建了一条 DNS 记录,以将负载均衡器公开到互联网,并通过 SSL 保护它。因此,该证书对于 AWS 创建的 URL 无效,仅对我的自定义域有效。因此,Cognito 应用程序客户端尝试使用无效的 SSL 证书访问 URL 并返回错误。