def post(cls, token: str): data = request.get_json() user = UserModel.find_by_token_2fa(token) if user: response = EmailSecondFA.check_2fa_code(token, data["code"]) if response: access_token = create_access_token(identity=user.sha_private, expires_delta=EXPIRES_DELTA) refresh_token = create_refresh_token(identity=user.sha_private) return { "access_token": access_token, "refresh_token": refresh_token }, 200 return {"message": response_quote("email2fa_failed")}, 400 return {"message": response_quote("user_not_exist")}, 404
def post(cls, token: str): data = request.get_json() user = UserModel.find_by_token_2fa(token) if user: response = EmailSecondFA.check_2fa_code(token, data["code"]) if response: password_salt, password_hash = PassCrypt.generate_password_hash( data["new_password"]) user.password_salt = password_salt user.password_hash = password_hash user.token_2fa = None user.session_key = None user.save_to_db() EmailSecondFA.force_revoke_2fa_code(token) return {"message": response_quote("user_password_reset")}, 201 return {"message": response_quote("email2fa_failed")}, 401 return {"message": response_quote("code_404")}, 404
def post(cls, token: str): data = request.get_json() user = UserModel.find_by_token_2fa(token) if user: response = EmailSecondFA.check_2fa_code(token, data["code"]) if response: session_key = hashlib.sha256( str.encode(str(datetime.datetime.now()))).hexdigest() user.session_key = session_key user.token_2fa = None user.save_to_db() EmailSecondFA.force_revoke_2fa_code(token) access_token = create_access_token( identity=user.session_key, expires_delta=datetime.timedelta(hours=4)) return {"access_token": access_token}, 200 return {"message": response_quote("email2fa_failed")}, 401 return {"message": response_quote("code_404")}, 404