invalid_request 错误

问题描述 投票:0回答:5

转到自定义 AWS Cognito UI 页面时:

https://<your_domain>/login?response_type=code&client_id=<your_app_client_id>

出现以下错误:

请求的页面遇到错误。

查看错误

无效_请求

amazon-cognito
5个回答

10
投票

您的用户池中的

App client Settings
需要以下内容:

  • 启用
    Cognito User Pool
    作为“身份提供商”。
  • 允许的“OAuth 范围”应启用
    openid


2
投票

就我而言,验证电话号码时出现一些问题。所以切换回电子邮件。

这份文件适合检查一切。

https://aws.amazon.com/blogs/aws/launch-amazon-cognito-user-pools-general-availability-app-integration-and-federation/

除非短信发送设置未完成,否则请勿选择电子邮件或电话选项。电子邮件或电话实际上仅退回到电话号码。阅读警告消息。


0
投票

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 并返回错误。


0
投票

对于 expo 用户,就我而言,登录白名单不正确,因此我必须更新它以匹配我的 expo 应用程序:

Amazon Cognito -> User pools -> your-user-pool -> App client: your_app_client

因此,如果您使用的是 expo,只需检查 Metro 正在侦听哪个端口(查看您的控制台):

› Choose an app to open your project at http://192.168.1.2:8081/_expo/loading
› Metro waiting on exp://192.168.1.2:8081

© www.soinside.com 2019 - 2024. All rights reserved.