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

AWS Amplify v6配置Google OAuth遇OAuthNotConfigureException错误求助

解决AWS Amplify v6中OAuthNotConfigureException错误(Google OAuth对接)

问题根源

Amplify v6对OAuth配置结构做了重大调整,你当前将oauth配置放在根节点的写法是v5格式,v6要求OAuth配置必须嵌套在Auth.Cognito内部,且需配合正确的providerConfigs格式。

修正后的配置

将amplify.ts配置修改为以下结构:

// src/config/amplify.ts
import { Amplify } from 'aws-amplify';

const amplifyConfig = {
  Auth: {
    Cognito: {
      userPoolId: "userPoolId",
      userPoolClientId: "userPoolClientId",
      signUpVerificationMethod: "code",
      loginWith: {
        email: true,
        phone: false,
        username: false
      },
      userAttributes: {
        email: { required: true },
        name: { required: true }
      },
      // v6中OAuth配置必须放在此处
      oauth: {
        domain: "your-cognito-domain.auth.region.amazoncognito.com",
        scope: ["email", "openid", "profile"],
        redirectSignIn: "http://localhost:3000/signin",
        redirectSignOut: "http://localhost:3000/",
        responseType: "code",
        // 配置第三方提供商详情
        providerConfigs: {
          google: {
            clientId: "your-google-oauth-client-id",
            scopes: ["email", "profile"]
          }
        }
      }
    }
  }
};

Amplify.configure(amplifyConfig);

关键调整说明

  • 移除根节点oauth字段:v6不再支持根节点的OAuth配置,必须移入Auth.Cognito
  • 用providerConfigs替代socialProviders:v6通过providerConfigs定义第三方OAuth提供商的clientId和权限范围
  • 统一域名格式:确保oauth.domain是完整的Cognito用户池域名(例如xxx.auth.us-east-1.amazoncognito.com)

验证步骤

  1. 确认Cognito用户池客户端的回调URL和退出URL与配置中的redirectSignIn、redirectSignOut完全一致
  2. 检查Google OAuth凭证中的授权重定向URI是否设置为https://<your-cognito-domain>/oauth2/idpresponse
  3. 确保Amplify配置在应用初始化时执行(比如在Next.js的layout.tsx或_app.tsx中导入配置文件)

无需降级到v5

v6的OAuth配置逻辑虽与v5不同,但按上述结构调整后即可正常实现Google OAuth登录,无需回退到v5版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:05:13