From 2aea5b41ad8b6bd4a408a87a6743fcbfc88ed329 Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Mon, 31 Jul 2023 15:02:30 +0530 Subject: [PATCH] Fix an issue where changing MFA_SUPPORTED_METHODS breaks the MFA validation. #6624 --- web/pgadmin/authenticate/mfa/templates/mfa/validate.html | 2 +- web/pgadmin/authenticate/mfa/views.py | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/web/pgadmin/authenticate/mfa/templates/mfa/validate.html b/web/pgadmin/authenticate/mfa/templates/mfa/validate.html index 3108063bf..b0efd7d3a 100644 --- a/web/pgadmin/authenticate/mfa/templates/mfa/validate.html +++ b/web/pgadmin/authenticate/mfa/templates/mfa/validate.html @@ -3,7 +3,7 @@ 'actionUrl': url_for('mfa.validate'), 'views': views, 'logoutUrl': logout_url, - 'sendEmailUrl': url_for("mfa.send_email_code"), + 'sendEmailUrl': send_email_url, 'csrfHeader': current_app.config.get("WTF_CSRF_HEADERS")[0], 'csrfToken': csrf_token() } %} diff --git a/web/pgadmin/authenticate/mfa/views.py b/web/pgadmin/authenticate/mfa/views.py index db2a174e3..415d17113 100644 --- a/web/pgadmin/authenticate/mfa/views.py +++ b/web/pgadmin/authenticate/mfa/views.py @@ -134,9 +134,14 @@ def validate_view() -> Response: if mfa_method is None and len(mfa_views) > 0: list(mfa_views.items())[0][1]['selected'] = True + send_email_url = None + if 'email' in mfa_views: + send_email_url = url_for("mfa.send_email_code") + return Response(render_template( "mfa/validate.html", _=_, views=mfa_views, base64=base64, - logout_url=get_logout_url() + logout_url=get_logout_url(), + send_email_url=send_email_url ), return_code, headers=_NO_CACHE_HEADERS, mimetype="text/html")