求助:访问AWS Cognito自定义UI页面时触发invalid_request错误
解决AWS Cognito自定义UI登录时的
invalid_request错误 刚碰到过一模一样的问题,给你整理几个最靠谱的排查方向,应该能快速解决这个错误:
核对请求参数的准确性
先确认URL里的response_type=code是正确的,client_id完全匹配你在Cognito用户池创建的应用客户端ID(别输错大小写或者漏了字符)。另外,如果你的应用客户端配置了回调地址,必须在请求里加上redirect_uri参数,而且要和控制台里配置的完全一致——包括http/https前缀、路径大小写,一个字符都不能差。正确的请求格式应该是这样:https://<your_domain>/login?response_type=code&client_id=<your_app_client_id>&redirect_uri=https://your-app.com/callback检查应用客户端的核心设置
登录Cognito控制台,找到对应的应用客户端,重点看这几个配置:- 有没有勾选“授权码授予”(Authorization Code Grant)类型?因为你用的是
response_type=code,这个授权类型必须启用。 - 你的自定义UI域名是否已经添加到“允许的回调URL”列表里?没添加的话,Cognito会直接拒绝请求。
- 应用客户端的状态是不是“启用”?如果不小心禁用了,也会返回
invalid_request。
- 有没有勾选“授权码授予”(Authorization Code Grant)类型?因为你用的是
验证自定义域名的有效性
确认你配置的https://<your_domain>已经完成Cognito的域名绑定,并且DNS解析(比如CNAME记录)已经生效。如果域名还没完成解析或者配置有误,Cognito会判定请求来源无效。排查参数的URL编码问题
如果你的参数里包含特殊字符(比如空格、&、=这些),一定要做URL编码处理。比如redirect_uri里的空格要换成%20,否则Cognito无法正确解析参数,也会抛出这个错误。
小技巧:如果上面的排查都没解决问题,打开浏览器开发者工具的“网络”面板,查看请求的响应详情——有时候Cognito会在响应体里返回更具体的错误描述,能帮你精准定位问题。
内容的提问来源于stack exchange,提问作者Neil
相关产品推荐
相关产品推荐

