React集成AWS Amplify+Cognito时遇Auth.Cognito未定义错误
解决Amplify配置报错:this.resourcesConfig.Auth.Cognito is undefined
这个错误的核心原因是你的Amplify Auth配置结构不符合当前版本(v6+)的要求,新版本对配置格式做了重构,具体修正方案如下:
1. 调整配置结构
将Cognito相关配置嵌套到Auth.Cognito字段下,同时修正客户端ID的键名:
// Configuration.js const awsExports = { Auth: { Cognito: { userPoolId: 'us-east-1_6UjYQhWiT', userPoolClientId: '6npe3oagri6ofa2cb0no3u8eo7' } } }; export default awsExports;
2. 关键变更说明
- 版本适配:Amplify v6重构了认证模块的配置逻辑,所有Cognito相关配置必须放在
Auth.Cognito对象内,而v5及更早版本是直接在Auth根节点下配置。 - 键名修正:v6中将客户端ID的键名从
userPoolWebClientId改为了userPoolClientId,这是容易忽略的细节。
3. 额外检查
- 确认你的
package.json中aws-amplify版本为v6及以上,若仍使用v5,要么升级版本,要么沿用旧的配置格式(直接在Auth下配置userPoolId和userPoolWebClientId)。 - 确保App.js中仅从
./Configuration导入配置,不要在文件内重复定义awsExports变量,避免变量冲突导致配置未正确传入。
内容的提问来源于stack exchange,提问作者edodoe
相关产品推荐
相关产品推荐

