AWS Cognito - 放大:Auth.signIn 不管 React Native 中的 returns NotAuthorizedException

AWS Cognito - Amplify: Auth.signIn no matter what returns NotAuthorizedException in React Native

我刚开始在我的应用程序中使用 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)
        })

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

经过几天的努力,我找到了解决办法。

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

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