javascript - AWS Amplify 配置:重用身份验证资源
问题描述
我一直在尝试从amplifyConfig.ts配置文件(见下文)中按照此链接中的建议使用现有后端配置我的应用程序
然后,我在Login.tsx页面中导入配置文件并通过传递调用它 Amplify.configure(currentConfig)
- 第一个意外行为是,无论我定义如何
authenticationFlowType: 'CUSTOM_AUTH'
,当我调用 Auth.Signup 方法时,authenticationFlowType
仍然定义为"USR_SRP_AUTH"。
- 其次,每当我更改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);
}
}
}
解决方案
推荐阅读
- python - 在外部文件中存储字典、正则表达式和变量的最佳方式?
- java - 将数组中的值相除
- excel - 函数 WorksheetFunction.CountIf 在 vba (outlook) 中工作吗?
- scylla - 表的 mean_partition_size 显示错误的极高值
- java - 调试时 onPostExecute() 与 doInBackground() 无关
- java - 抽象工厂设计模式和泛型 - Java
- javascript - Javascript Promise 不等待在下一个 Then() 之前解决
- kubernetes - 使用公司名称和环境自定义 kubernetes 仪表板
- python - 如何在 vsts 发布管道中使用 python 脚本任务
- react-native - 道具类型失败:提供给“ForwardRef(图像)”的道具“来源”无效