我正在尝试在我的颤振项目中实现 Amplify。我想在没有登录和帐户验证的情况下注册新用户后立即获得 userSub。我使用电子邮件作为用户名。
其他一些人建议使用 Amplify.Auth.fetchAuthSession()
但我想我不能在没有登录的情况下使用这种方法。
有什么帮助吗?
答案 0 :(得分:0)
获取用户数据后必须进行身份验证。检查 Documentation from Amplify
注册
try {
Map<String, String> userAttributes = {
'email': 'email@domain.com',
'phone_number': '+15559101234',
// additional attributes as needed
};
SignUpResult res = await Amplify.Auth.signUp(
username: 'myusername',
password: 'mysupersecurepassword',
options: CognitoSignUpOptions(
userAttributes: userAttributes
)
);
setState(() {
isSignUpComplete = res.isSignUpComplete;
});
} on AuthException catch (e) {
print(e.message);
}
确认注册
try {
SignUpResult res = await Amplify.Auth.confirmSignUp(
username: 'myusername',
confirmationCode: '123456'
);
setState(() {
isSignUpComplete = res.isSignUpComplete;
});
} on AuthException catch (e) {
print(e.message);
}
登录
try {
SignInResult res = await Amplify.Auth.signIn(
username: usernameController.text.trim(),
password: passwordController.text.trim(),
);
setState(() {
isSignedIn = res.isSignedIn;
});
} on AuthException catch (e) {
print(e.message);
}
按照此video tutoril,您可以使用 BLOC 架构实现 Amplify Auth