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

使用Vue.js+AWS Amplify连接Cognito时遇loginWith未定义错误求助

解决Vue.js + AWS Amplify集成Cognito时的loginWith未定义错误

这个错误是因为Amplify核心模块未检测到Auth插件的存在,导致配置过程中触发OAuth相关监听逻辑时找不到对应方法。以下是具体解决步骤:

1. 安装Auth模块

如果项目中未安装@aws-amplify/auth,先执行安装命令:

npm install @aws-amplify/auth

或使用yarn:

yarn add @aws-amplify/auth

2. 在main.js中注册Auth插件

修改main.js代码,导入Auth模块并注册到Amplify:

import { createApp } from 'vue'
import App from './App.vue'
import 'bootstrap/dist/css/bootstrap.min.css';
import { Amplify } from 'aws-amplify';
import { Auth } from '@aws-amplify/auth'; // 导入Auth模块
import awsconfig from './aws-exports';

console.log('AWS Config:', awsconfig);

Amplify.addPluggable(Auth); // 注册Auth插件
Amplify.configure(awsconfig);
createApp(App).mount('#app')
console.log(Amplify);

3. 确保依赖版本一致

检查package.json中aws-amplify和@aws-amplify/auth的版本号,确保两者完全一致。若版本不匹配,执行以下命令统一升级到最新版:

npm install aws-amplify@latest @aws-amplify/auth@latest

额外排查项

  • 验证Cognito用户池客户端是否启用了USER_PASSWORD_AUTH认证流程:登录AWS控制台→进入目标用户池→选择「应用客户端」→确认认证流程列表包含该类型。
  • 若无需OAuth认证,可在aws-exports.js中添加空的oauth配置,避免触发相关监听:
const awsconfig = {
  Auth: {
    region: 'us-east-1',
    userPoolId: 'us-east-1_mld8IjN9e',
    userPoolWebClientId: '229bq6q1fbjtp0r43hhoq5qoe7',
    authenticationFlowType: 'USER_PASSWORD_AUTH',
    oauth: {} // 添加空OAuth配置
  }
};
export default awsconfig;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 08:30:04