Android应用中Amplify signInWithWebUI登录后无法重定向回应用
解决AWS Amplify Android signInWithWebUI重定向失败问题
问题根源
你遇到的问题是自定义URI格式错误,且未在Amazon Cognito用户池的应用客户端中配置对应的回调/退出URI。
正确配置步骤
- 修正自定义URI格式:Android自定义scheme格式应为
myapp://(单斜杠,而非双斜杠),比如myapp://callback或直接myapp://,需保证格式合法。 - 在Cognito用户池配置回调URI:
- 登录AWS控制台,进入对应Cognito用户池
- 找到与
amplifyconfiguration.json中AppClientId匹配的应用客户端 - 在应用客户端设置里,将
myapp://(或你定义的完整URI)添加到回调URL和退出URL列表 - 保存配置
- 更新amplifyconfiguration.json:修改OAuth部分的RedirectURI为正确格式:
"Auth": { "Default": { "OAuth": { "WebDomain": "xxxxxxxxxxxx", "AppClientId": "xxxxxxxxxxxxx", "SignInRedirectURI": "myapp://", "SignOutRedirectURI": "myapp://", "responseType": "code", "Scopes": [ "phone", "email", "openid", "profile", "aws.cognito.signin.user.admin" ] }, "authenticationFlowType": "USER_SRP_AUTH" } }
- 配置Android应用的Intent Filter:在
AndroidManifest.xml中,给处理重定向的Activity添加Intent Filter,确保系统能识别自定义scheme并跳回应用:
<activity android:name=".YourLoginActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="myapp" /> </intent-filter> </activity>
- 验证配置:重新构建并运行应用,测试signInWithWebUI流程,确认登录成功后可正常重定向回应用。
内容的提问来源于stack exchange,提问作者Mr. Thanks a lot
相关产品推荐
相关产品推荐

