AWS Cognito - Amplify:Auth.signIn 无论什么在 React Native 中返回 NotAuthorizedException

ahm*_*din 1 amplifyjs amazon-cognito react-native aws-amplify

我刚开始在我的应用程序中使用 AWS Cognito,我按照说明安装了 Amplify 并创建了用户池和身份池并设置了所有内容。我创建了一个注册表单并在没有问题Aut.signUp()和确认电子邮件的情况下进行了注册。

但是当我尝试登录时,我输入了我的凭据并得到 NotAuthorizedException,用户名或密码不正确。

我是这样登录的:

Auth.signIn(user.Username, user.Password)
    .then((res) => {
        AsyncStorage.setItem('token', JSON.stringify(user))
        .then(res =>{
            console.log('saved')
        })  
        .catch(err=>{
            console.log(err)
        })
Run Code Online (Sandbox Code Playgroud)

无论我在输入字段中输入什么,我都会收到此错误。我刚开始使用 Amazon AWS,实在想不出问题

ahm*_*din 6

因此,经过几天的尝试解决此问题后,我找到了解决方案。

默认情况下,在 AWS 配置中,身份验证流类型设置为 USER_SRP_AUTH 您需要做的是在您的 AWS 配置中放置: authenticationFlowType: 'USER_PASSWORD_AUTH',

然后转到 amazon cognito 面板 -> 用户池 -> 应用客户端 -> 显示详细信息 -> 为基于应用的身份验证 (USER_PASSWORD_AUTH) 启用用户名-密码(非 SRP)流程。