def login():
    json_data = request.json
    try:
        user = User.query.filter_by(email=json_data.get('email')).first()
        if user and bcrypt.check_password_hash(
                user.password, json_data.get('password')):
                auth_token = user.encode_auth_token(user.id)
                if auth_token:
                    responseObject = {
                        'status': 'success',
                        'message': 'Successfully logged in.',
                        'auth_token': auth_token.decode(),
                        'user': user.name
                    }
                    return make_response(jsonify(responseObject)), 200
        else:
            responseObject = {
                        'status': 'failed',
                        'message': 'User does not exist'
                    }
            return make_response(jsonify(responseObject)), 500 
    except Exception as e:
        print(e)
        responseObject = {
                    'status': 'failed',
                    'message': 'Internal Server Error. Please try again'
                }
        return make_response(jsonify(responseObject)), 500
Exemplo n.º 2
0
def login():
    form = LoginForm(request.form)
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               request.form['password']):
            login_user(user)
            flash('You are logged in. Welcome!', 'success')
            return redirect(url_for('user.members'))
        else:
            flash('Invalid email and/or password.', 'danger')
            return render_template('user/login.html', form=form)
    return render_template('user/login.html', title='Please Login', form=form)
Exemplo n.º 3
0
def login():
    form = LoginForm(request.form)
    if form.validate_on_submit():
        try:
            user = models.User.objects.get(username=form.username.data)
        except:
            user = None
        if user and bcrypt.check_password_hash(user.password,
                                               request.form['password']):
            login_user(user)
            flash('You are logged in. Welcome!', 'success')
            return redirect(url_for('user.main'))
        else:
            flash('Invalid email and/or password.', 'danger')
            return render_template('user/login.html', form=form)
    return render_template('user/login.html', form=form)
Exemplo n.º 4
0
 def check_password(self, password: str) -> bool:
     return bcrypt.check_password_hash(self.password_hash, password)
Exemplo n.º 5
0
 def check_password(self, password: str) -> bool:
     return bcrypt.check_password_hash(self.password_hash, password)
Exemplo n.º 6
0
 def test_check_password(self):
     # Ensure given password is correct after unhashing.
     user = User.query.filter_by(email='*****@*****.**').first()
     self.assertTrue(bcrypt.check_password_hash(user.password, 'admin_user'))
     self.assertFalse(bcrypt.check_password_hash(user.password, 'foobar'))