diff --git a/app/main/views/two_factor.py b/app/main/views/two_factor.py index 4e9493c7a..b7ef5bdac 100644 --- a/app/main/views/two_factor.py +++ b/app/main/views/two_factor.py @@ -20,13 +20,15 @@ def two_factor(): form = TwoFactorForm(_check_code) if form.validate_on_submit(): - user = users_dao.get_user_by_id(user_id) - # Check if coming from new password page - if 'password' in session['user_details']: - user.set_password(session['user_details']['password']) - users_dao.update_user(user) - del session['user_details'] - login_user(user) + try: + user = users_dao.get_user_by_id(user_id) + # Check if coming from new password page + if 'password' in session['user_details']: + user.set_password(session['user_details']['password']) + users_dao.update_user(user) + login_user(user) + finally: + del session['user_details'] return redirect(url_for('.choose_service')) return render_template('views/two-factor.html', form=form) diff --git a/app/main/views/verify.py b/app/main/views/verify.py index e2dce93a0..6b4d4790d 100644 --- a/app/main/views/verify.py +++ b/app/main/views/verify.py @@ -35,5 +35,7 @@ def verify(): abort(404) else: raise e + finally: + del session['user_details'] return render_template('views/verify.html', form=form)