使用AWS Cognito认证时出现invalid_scope错误求助
解决AWS Cognito的invalid_scope & invalid_request错误
核对OAuth作用域与应用客户端配置
你发起认证请求时携带的scope参数值,必须完全匹配Cognito用户池应用客户端中启用的范围:- 进入AWS控制台→Cognito用户池→「应用集成」→「应用客户端」
- 编辑你的应用客户端,查看「允许的OAuth作用域」列表,确保你请求的所有scope(比如
openid、email)都已勾选 - 若使用自定义scope(如
myapp:read),需先在「资源服务器」中创建该scope,再关联到应用客户端的允许列表
检查认证请求参数格式
- 确保
scope参数用空格分隔多个值,比如正确格式是scope=openid email,避免用逗号或其他分隔符 - 确认
response_type与scope匹配:比如使用授权码流(response_type=code)必须包含openidscope;隐式流(response_type=token)也需对应允许的scope类型
- 确保
验证应用客户端OAuth基础配置
- 确认应用客户端的「授权流」勾选了你正在使用的认证流程(如授权码流、隐式流)
- 检查「回调URL」与你应用中配置的完全一致,Cognito会严格校验该地址,不匹配也会触发
invalid_request
简化请求做排查
先发起仅包含openid的最简认证请求,若能正常完成,再逐步添加其他scope,定位具体是哪个scope导致的问题
内容的提问来源于stack exchange,提问作者Atul Kulkarni
相关产品推荐
相关产品推荐

