Added support for Two-factor authentication for improving security. Fixes #6543
Branch ------ master Details ------- https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=787a441343988c8e0b24876cc6d3cb81dee317af Author: Ashesh Vashi <ashesh.va...@enterprisedb.com> Modified Files -------------- docs/en_US/getting_started.rst | 1 + docs/en_US/images/mfa_auth_app.png | Bin 0 -> 98072 bytes docs/en_US/images/mfa_email.png | Bin 0 -> 77094 bytes docs/en_US/images/mfa_login.png | Bin 0 -> 97855 bytes docs/en_US/images/mfa_registration.png | Bin 0 -> 68217 bytes docs/en_US/mfa.rst | 88 +++++ docs/en_US/release_notes_6_0.rst | 1 + requirements.txt | 3 + web/.eslintignore | 1 + web/config.py | 23 ++ web/migrations/script.py.mako | 3 +- web/migrations/versions/15c88f765bc8_.py | 44 +++ web/pgadmin/authenticate/__init__.py | 22 +- web/pgadmin/authenticate/mfa/__init__.py | 110 ++++++ web/pgadmin/authenticate/mfa/authenticator.py | 222 +++++++++++ web/pgadmin/authenticate/mfa/email.py | 310 ++++++++++++++++ web/pgadmin/authenticate/mfa/registry.py | 167 +++++++++ .../authenticate/mfa/static/images/email_lock.svg | 5 + .../authenticate/mfa/static/images/totp_lock.svg | 5 + .../authenticate/mfa/templates/mfa/email.js | 66 ++++ .../mfa/templates/mfa/email_code_sent.html | 19 + .../authenticate/mfa/templates/mfa/email_view.html | 7 + .../authenticate/mfa/templates/mfa/register.html | 78 ++++ .../authenticate/mfa/templates/mfa/validate.html | 121 ++++++ .../templates/security/email/send_email_otp.html | 2 + .../templates/security/email/send_email_otp.txt | 2 + web/pgadmin/authenticate/mfa/tests/test_config.py | 154 ++++++++ web/pgadmin/authenticate/mfa/tests/test_mfa.py | 56 +++ .../authenticate/mfa/tests/test_mfa_view.py | 66 ++++ .../authenticate/mfa/tests/test_user_execution.py | 125 +++++++ web/pgadmin/authenticate/mfa/tests/utils.py | 111 ++++++ web/pgadmin/authenticate/mfa/utils.py | 408 +++++++++++++++++++++ web/pgadmin/authenticate/mfa/views.py | 346 +++++++++++++++++ web/pgadmin/browser/__init__.py | 12 +- web/pgadmin/browser/static/js/browser.js | 4 +- web/pgadmin/browser/static/js/dialog.js | 110 ++++++ web/pgadmin/browser/templates/browser/index.html | 11 + web/pgadmin/model/__init__.py | 8 + web/pgadmin/static/img/login.svg | 2 +- web/pgadmin/static/js/pgadmin.js | 2 + web/pgadmin/static/scss/_pgadmin.style.scss | 26 +- .../static/scss/resources/_default.variables.scss | 1 + .../scss/resources/dark/_theme.variables.scss | 2 + .../resources/high_contrast/_theme.variables.scss | 2 + web/pgadmin/templates/base.html | 6 +- .../templates/security/change_password.html | 4 +- web/pgadmin/templates/security/panel.html | 25 +- web/pgadmin/tools/datagrid/__init__.py | 2 + web/pgadmin/tools/debugger/__init__.py | 2 + web/pgadmin/tools/erd/__init__.py | 2 + web/pgadmin/tools/psql/__init__.py | 2 + web/pgadmin/tools/schema_diff/__init__.py | 2 + .../user_management/static/js/user_management.js | 94 +---- web/webpack.shim.js | 1 + 54 files changed, 2774 insertions(+), 112 deletions(-)