我正在与 expo 合作开发一个 React Native 项目,并使用 AWS amplify 作为后端。注册用户并确认该用户的电子邮件按预期工作,但我在尝试登录时收到未知错误。
这是我的登录功能 代码:
import { signIn, SignInInput } from "aws-amplify/auth";
const onSubmit = async (data: FormData) => {
setIsLoading(true);
try {
const { username, password }: SignInInput = {
username: data.email,
password: data.password,
};
const { isSignedIn, nextStep } = await signIn({ username, password });
console.log(isSignedIn, nextStep);
} catch (e: any) {
console.log("error signing in", e);
}
setIsLoading(false);
};
错误:
error signing in [Unknown: An unknown error has occurred.]
也许检查一下您的身份验证流程?如果是这种情况,您需要在请求和 AWS Cognito 应用程序客户端中进行更新。
要求:
const { isSignedIn, nextStep } = await signIn({
username: _data.email,
password: _data.password,
options: { authFlowType: "USER_PASSWORD_AUTH" },
});
应用程序客户端:AWS 管理控制台 > Cognito > 用户池 > 应用程序集成 > (选择您的应用程序客户端)> (编辑应用程序客户端信息)> 添加“ALLOW_USER_PASSWORD_AUTH”