You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成AWS Cognito谷歌认证:redirect_uri参数配置疑问

关于AWS Cognito谷歌认证中redirect_uri参数的填写说明

我来给你捋清楚这个问题的核心:redirect_uri的值必须和你在AWS Cognito控制台中配置的「回调URL」完全一致,包括路径部分,一字不差。下面给你一步步拆解怎么做:

1. 先在AWS Cognito里配置正确的回调URL

这是最关键的一步,没配置或者配置不匹配的话,后续请求肯定会失败:

  • 打开AWS Cognito控制台,找到你正在使用的用户池
  • 切换到「应用客户端」选项卡,找到对应你的Flutter应用的客户端条目
  • 在「回调URLs」(Callback URLs)输入框里,添加自定义Scheme链接,比如 myapp://cognito-callback 或者 myapp://auth/google 这类格式(只要符合自定义URL Scheme规则就行)
  • 同时要确认「允许的OAuth流」里已经勾选了「授权码流」(Authorization code grant)——毕竟你用的是grant_type=authorization_code的请求方式

2. 在token请求中使用完全匹配的redirect_uri

假设你在Cognito里配置的回调URL是myapp://cognito-callback,那你的POST请求参数里的redirect_uri就必须填这个值,比如:

https://${COGNITO_POOL_URL}.amazoncognito.com/oauth2/token?grant_type=authorization_code&client_id=${COGNITO_CLIENT_ID}&code=authCode&redirect_uri=myapp://cognito-callback

3. 额外注意:Flutter应用的自定义Scheme配置

为了让你的Flutter应用能捕获到myapp://开头的重定向链接,还需要在iOS和Android的配置文件里做对应设置:

  • iOS:在Info.plist中添加CFBundleURLTypes配置,指定scheme为myapp
  • Android:在AndroidManifest.xml中对应Activity的里,添加对myapp scheme的支持

常见避坑点

  • 大小写严格一致:比如你配置的是myapp://CognitoCallback,请求里写成myapp://cognitocallback就会被Cognito拒绝
  • 不要多/少斜杠:比如配置的是myapp://callback,请求里写成myapp://callback/(末尾多了斜杠)也不行
  • 必须确保这个redirect_uri在Cognito应用客户端的「回调URLs」列表里,否则Cognito会直接返回错误

内容的提问来源于stack exchange,提问作者Andro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:48:12