首页 > 解决方案 > AWS Amplify 配置:重用身份验证资源

问题描述

我一直在尝试从amplifyConfig.ts配置文件(见下文)中按照此链接中的建议使用现有后端配置我的应用程序

然后,我在Login.tsx页面中导入配置文件并通过传递调用它 Amplify.configure(currentConfig)

  1. 第一个意外行为是,无论我定义如何authenticationFlowType: 'CUSTOM_AUTH',当我调用 Auth.Signup 方法时,authenticationFlowType仍然定义为"USR_SRP_AUTH"

在此处输入图像描述

  1. 其次,每当我更改AmplifyConfig.ts文件时,我都必须清除所有浏览数据才能使这些更改生效。

这种行为表明我做错了,我知道我可以通过 cli 处理这个问题,但是我更愿意通过代码来处理这个问题。

非常感谢!!

放大配置.ts:

import Amplify, { Auth } from 'aws-amplify';

Amplify.configure({
    Auth: {
        // REQUIRED - Amazon Cognito Region
        region: 'XX-XXXX-X',

        // OPTIONAL - Amazon Cognito User Pool ID
        userPoolId: 'XX-XXXX-X_abcd1234',

        // OPTIONAL - Manually set the authentication flow type. Default is 'USER_SRP_AUTH'
        authenticationFlowType: 'CUSTOM_AUTH',

        }
    }
});

// You can get the current config object
const currentConfig = Auth.configure();

登录.tsx:

import Amplify, { Auth } from 'aws-amplify';
import currentConfig from '../../services/amplifyConfig';

export function LoginMenu() {

  Amplify.configure(currentConfig);

  // redundant configuration of authenticationFlowType
  Auth.configure({
    authenticationFlowType: 'CUSTOM_AUTH',
  });

  async function onSignup(event: FormEvent) {
    event?.preventDefault();

    try {
      const { user } = await Auth.signUp(UserData);
      console.log(user);
    } catch (error) {
      console.log('error signing up:', error);
    }
  }
}

标签: javascriptauthenticationamazon-cognitoamplify

解决方案


推荐阅读