def post(): # Get refresh token. refresh_token = request.json.get('refresh_token') # Get if the refresh token is in blacklist. ref = Blacklist.query.filter_by(refresh_token=refresh_token).first() # Check refresh token is existed. if ref is not None: # Return invalidated token. return {'status': 'invalidated'} try: # Generate new token. data = refresh_jwt.loads(refresh_token) except Exception as why: # Log the error. logging.error(why) # If it does not generated return false. return False # Create user not to add db. For generating token. user = User(email=data['email']) # New token generate. token = user.generate_auth_token(False) # Return new access token. return {'access_token': token}
def post(self): parser = reqparse.RequestParser() parser.add_argument('firstname', type=str, help='You need to enter your fistname', required=True) parser.add_argument('lastname', type=str, help='You need to enter your lastname', required=True) parser.add_argument('email', type=str, help='You need to enter your e-mail address', required=True) parser.add_argument('password', type=str, help='You need to enter your chosen password', required=True) parser.add_argument('confirmation_password', type=str, help='You need to enter the confirm password field', required=True) args = parser.parse_args() email = args.get('email') password = args.get('password') confirmation_password = args.get('confirmation_password') firstname = args.get('firstname') lastname = args.get('lastname') try: User.create( email=email, password=password, confirmation_password=confirmation_password, firstname=firstname, lastname=lastname ) return {'message': 'Successfully created your account.'} except ValidationError as e: abort(400, message='There was an error while trying to create your account -> {}'.format(e.message))
def create_user(): try: data = request.get_json() user_schema = UserSchema() user = User(**(user_schema.load(data))) user.create() return response_with(resp.SUCCESS_201) except Exception as e: print(e) return response_with(resp.INVALID_INPUT_422)
def create_super_admin(): # Check if admin is existed in db. user = User.query.filter_by(email="test_username").first() # If user is none. if user is None: # Create admin user if it does not existed. user = User( username="******", password="******", email="*****@*****.**", user_role="sa", ) # Add user to session. db.session.add(user) # Commit session. db.session.commit() # Print admin user status. logging.info("Super admin was set.") else: # Print admin user status. logging.info("Super admin already set.")
def post(): try: # Get username, password and email. username, email, password, first_name, last_name, user_role, user_country, user_language = request.json.get('name').strip(), request.json.get('email').strip(), request.json.get('password').strip(), request.json.get('firstName').strip(), request.json.get('lastName').strip(), request.json.get('role'), request.json.get('country'), request.json.get('language') except Exception as why: # Log input strip or etc. errors. logging.info("Username, password or email is wrong. " + str(why)) # Return invalid input error. return error.INVALID_INPUT_422 # Check if any field is none. if username is None or password is None or email is None: return error.INVALID_INPUT_422 # Get user if it is existed. user = User.query.filter_by(email=email).first() # Check if user is existed. if user is not None: return error.ALREADY_EXIST # Create a new user. user = User(username=username, email=email, password=password, first_name=first_name, last_name= last_name, user_role = user_role, user_country = user_country, user_language = user_language) # Add user to session. db.session.add(user) # Commit session. db.session.commit() # Return success if registration is completed. return {'status': 'Registration completed.'}
def create_super_admin(): # Check if admin is existed in db. user = User.query.filter_by(email='test_username').first() # If user is none. if user is None: # Create admin user if it does not existed. user = User(username='******', password='******', email='*****@*****.**', user_role='sa') # Add user to session. db.session.add(user) # Commit session. db.session.commit() # Print admin user status. print("Super admin was set.") else: # Print admin user status. print("Super admin already set.")
def create_test_user(username=None, password=None, email=None, user_role=None): # Check if admin is existed in db. user = User.query.filter_by(email='test_username').first() # If user is none. if user is None: # Create admin user if it does not existed. # user = User(username=username, password=password, email=email, user_role=user_role) user = User(username='******', password='******', email='*****@*****.**', user_role='user') # Add user to session. db.session.add(user) # Commit session. db.session.commit() # Print admin user status. print("Test user was set.") else: # Print admin user status. print("User already set.")
def post(self): parser = reqparse.RequestParser() parser.add_argument('email', type=str, help='You need to enter your e-mail address', required=True) parser.add_argument('password', type=str, help='You need to enter your password', required=True) args = parser.parse_args() email = args.get('email') password = args.get('password') try: token = User.validate(email, password) return {'token': token} except ValidationError as e: abort(400, message='There was an error while trying to log you in -> {}'.format(e.message))
def func(*args, **kwargs): try: if 'authorization' not in request.headers: abort( 404, message="You need to be logged in to access this resource") token = request.headers.get('authorization') payload = jwt.decode(token, current_app.config['SECRET_KEY'], algorithms=['HS256']) user_id = payload['id'] g.user = User.find(user_id) if g.user is None: abort(404, message="The user id is invalid") return f(*args, **kwargs) except JWTError as e: abort(400, message= "There was a problem while trying to parse your token -> {}". format(e.message))
def signup(): """{"name":"","password":"","role":""}""" #if not request.json or not 'name' in request.json or not 'password' in request.json or not 'role' in request.json: # error (400) if not isinstance(request.json.get('name'), str): return jsonify({"msg": "Name must be a string. Example: johndoe"}), 400 name = request.get_json()['name'].strip() if not name: return jsonify({"msg": "Name field is empty"}), 400 password = str(request.get_json()['password']).strip() role = request.get_json()['role'] if not role: return jsonify({"msg": "Role field is empty"}), 400 if role.lower() != "admin": if role.lower() != "user": return jsonify({"Error": "Only 'admin' or 'user' roles exist"}) if name and password and role: if len(name) > 15: return jsonify({"msg": "Name is too long, max 15"}), 400 if not re.match(r'^[a-z0-9_]+$', name): return jsonify( {"msg": "Name can only contain lowercase a-z, 0-9 and _"}), 400 if len(password) < 8: return jsonify({"msg": "Password too short, min 8 chars"}), 400 if len(password) > 20: return jsonify({"msg": "Password too long, max 20"}), 400 new_user = User(name, password, role) DbController().add_user(new_user) return jsonify({"msg": DbController().get_users()}) return jsonify({"msg": "empty field"}), 400
def post(): try: # Get username, password and email. username, password, email = ( request.json.get("username").strip(), request.json.get("password").strip(), request.json.get("email").strip(), ) except Exception as why: # Log input strip or etc. errors. logging.info("Username, password or email is wrong. " + str(why)) # Return invalid input error. return error.INVALID_INPUT_422 # Check if any field is none. if username is None or password is None or email is None: return error.INVALID_INPUT_422 # Get user if it is existed. user = User.query.filter_by(email=email).first() # Check if user is existed. if user is not None: return error.ALREADY_EXIST # Create a new user. user = User(username=username, password=password, email=email) # Add user to session. db.session.add(user) # Commit session. db.session.commit() # Return success if registration is completed. return {"status": "registration completed."}
def create_test_user( username="******", password="******", email="*****@*****.**", user_role="user", ): # Check if admin is existed in db. user = User.query.filter_by(email="test_username").first() # If user is none. if user is None: # Create admin user if it does not existed. # user = User(username=username, password=password, email=email, user_role=user_role) user = User( username=username, password=password, email=email, user_role=user_role, ) # Add user to session. db.session.add(user) # Commit session. db.session.commit() # Print admin user status. logging.info("Test user was set.") # Return user. return user else: # Print admin user status. logging.info("User already set.")