AWS Amplify Auth社交登录OAuth初始化失败,提示检查awsconfiguration.json
AWS Amplify Auth初始化找不到WebDomain报错排查方案
- 检查
awsconfiguration.json的参数层级是否正确
AWSMobileClient要求OAuth相关参数必须嵌套在Auth节点下的OAuth子节点中,不能直接放在JSON根目录,正确结构示例如下:
特别注意你提供的WebDomain值里区域后缀可能存在错误,正确的Cognito域后缀格式为{ "Auth": { "Default": { "OAuth": { "WebDomain": "amplifyandroi[...].auth.ap-south-1.amazoncognito.com", "AppClientId": "[你的客户端ID]", "SignInRedirectURI": "app://", "SignOutRedirectURI": "app://", "Scopes": [ "phone", "email", "openid", "profile", "aws.cognito.signin.user.admin" ] }, // 其他Auth相关配置 } } }.<区域标识>.amazoncognito.com,例如孟买区域应为ap-south-1而非ap-south,请确认域地址和你在Cognito控制台配置的一致。 - 校验JSON语法合法性
检查配置文件是否存在语法错误,比如末尾多余逗号、引号不配对、转义字符错误等,可以用文本编辑器自带的JSON校验功能或者jsonlint命令行工具检测。 - 确认配置文件存放路径正确
Android项目中awsconfiguration.json必须放在app/src/main/res/raw目录下,文件名必须全小写,不能包含大写字符、特殊符号或空格,否则Android资源系统无法正确识别文件,会导致Amplify读取到空配置。 - 检查初始化逻辑顺序
确保你是在Application类的onCreate生命周期中优先执行Amplify初始化,不要在初始化完成前调用任何Auth相关接口,也不要重复执行初始化操作。 - 清理项目构建缓存
打开Android Studio选择Build -> Clean Project,再执行Rebuild Project,清除旧的构建缓存,避免新配置没有被打包进APK。 - 手动验证配置读取
若以上步骤都未解决问题,可以在初始化Amplify之前手动读取res/raw下的配置文件,打印Auth.OAuth.WebDomain字段的取值,确认文件内容可以被正常读取,排除资源加载异常的问题。
内容的提问来源于stack exchange,提问作者ram munda
相关产品推荐
相关产品推荐

