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
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)
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)
def check_password(self, password: str) -> bool: return bcrypt.check_password_hash(self.password_hash, password)
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'))