Esempio n. 1
0
    def put(self, nickname):
        data = User.parser.parse_args()
        user = UserModel.find_by_nickname(nickname)

        password = data['password']
        validation = bcrypt.check_password_hash(user.password, password)

        new_password = data['new_password']
        re_password = data['re_password']

        if re_password == new_password:
            new_password = bcrypt.generate_password_hash(new_password)
        else:
            return {
                "message": "Your password and re_password is unmatched."
            }, 404

        if user and validation:
            user.nickname = data['nickname']
            user.password = new_password
        else:
            return {"message": "Your nickname or password is incorrect."}, 404

        user.save_to_db()
        return user.json()
Esempio n. 2
0
    def post(self):
        data = UserRegister.parser.parse_args()

        email = data['email']
        nickname = data['nickname']
        password = data['password']
        pw_hash = bcrypt.generate_password_hash(password)
        # pw_hash = bcrypt.generate_password_hash(password.encode('utf-8', bcrypt.gensalt(ROUNDS)))

        if UserModel.find_by_email(email):
            return {"message": "A user with that email already exists"}, 400
        elif UserModel.find_by_nickname(nickname):
            return {"message": "A user with that nickname already exists"}, 400

        pw_hash = bcrypt.generate_password_hash(password, ROUNDS)
        valid_login = bcrypt.check_password_hash(pw_hash, password)
        print("------------------- authenticate ------------------- ",
              valid_login)
        user = UserModel(email, pw_hash, nickname)
        user.save_to_db()
        return {
            "message": "User created successfully.",
            "email": email,
            "nickname": nickname
        }, 201
Esempio n. 3
0
    def post(self):
        data = UserRegister.parser.parse_args()

        email = data['email']
        nickname = data['nickname']
        password = data['password']

        if email and UserModel.find_by_email(email):
            return {"message": "A user with that email already exists"}, 400
        elif nickname and UserModel.find_by_nickname(nickname):
            return {"message": "A user with that nickname already exists"}, 400

        pw_hash = bcrypt.generate_password_hash(password, ROUNDS)
        valid_login = bcrypt.check_password_hash(pw_hash, password)
        if valid_login:
            user = UserModel(email, pw_hash, nickname)
            user.save_to_db()
        return {"message": "User created successfully.", "email": email, "nickname": nickname}, 201
Esempio n. 4
0
def authenticate(nickname, password):
    user = UserModel.find_by_nickname(nickname)
    # if user and safe_str_cmp(user.password, password):
    if user and bcrypt.check_password_hash(user.password, password):

        return user
Esempio n. 5
0
def identity(payload):
    user_id = payload['identity']
    print(user_id)
    user = UserModel.find_by_nickname(user_id)
    return user
Esempio n. 6
0
 def get(self, nickname):
     user = UserModel.find_by_nickname(nickname)
     if user:
         return user.json()
     return {'message': 'User not found'}, 404
Esempio n. 7
0
 def get(self, nickname):
     analysis.read_data_and_print()
     user = UserModel.find_by_nickname(nickname)
     if user:
         return user.json()
     return {'message': 'User not found'}, 404