Python 3.x 如何重复注册aws cognito[solve]

Python 3.x 如何重复注册aws cognito[solve],python-3.x,flask,amazon-cognito,Python 3.x,Flask,Amazon Cognito,解决方法在这里 在我们的应用程序中注册时,请使用aws cognito注册并发送带有代码的验证电子邮件 如果用户关闭应用程序未输入验证,则用户必须重新注册。(保存在cognito用户池状态未确认中) 出现了两个问题 密码可能会更改(重新注册时) 更新验证码 我的代码是python3和授权书 @app.route('/signup/', methods=['POST']) def signup(): u = Cognito(os.getenv('COGNITO_USER_POOL_ID')

解决方法在这里

在我们的应用程序中注册时,请使用aws cognito注册并发送带有代码的验证电子邮件

如果用户关闭应用程序未输入验证,则用户必须重新注册。(保存在cognito用户池状态未确认中)

出现了两个问题

  • 密码可能会更改(重新注册时)

  • 更新验证码

  • 我的代码是python3和授权书

    @app.route('/signup/', methods=['POST'])
    def signup():
        u = Cognito(os.getenv('COGNITO_USER_POOL_ID'), os.getenv('COGNITO_CLIENT_ID'),
                user_pool_region=os.getenv('COGNITO_REGION'))
    
        u.add_base_attributes(name=user_name, email=user_email)
        u.register(user_email, user_password)
        return redirect(url_for('lobby'))
    
    错误代码

    botocore.errorfactory.UsernameExistsException:调用注册操作时发生错误(UsernameExistsException):具有给定电子邮件的帐户已存在

    如何使用续订密码重新注册并发送新的验证电子邮件

    谢谢

    哦,我解决了

    @app.route('/signup/', methods=['POST'])
    def signup():
        idp_client = boto3.client('cognito-idp')
        '''
        resp = idp_client.sign_up(ClientId=app_client_id,
                                  Username=user_email,
                                  Password=user_password,
                                  UserAttributes=[{'Name': 'email', 'Value': user_email}])
        '''
        resp = idp_client.resend_confirmation_code(ClientId=os.getenv('COGNITO_CLIENT_ID'),
                                               Username=user_email)
    
        print(resp) #check result
        return redirect(url_for('lobby'))
    
    使用我想要的boto3(重新发送而不是获取密码)