From 5867fad0ba9ec5ef3dd58959399c448c68b49ad1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Fri, 24 Nov 2017 09:16:45 +0100 Subject: [PATCH] Deny login if two factor is configured, but not available MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #13832 Signed-off-by: Michal Čihař --- .../classes/Plugins/TwoFactor/Invalid.php | 63 +++++++++++++++++++ libraries/classes/TwoFactor.php | 2 + templates/login/twofactor/invalid.twig | 3 + 3 files changed, 68 insertions(+) create mode 100644 libraries/classes/Plugins/TwoFactor/Invalid.php create mode 100644 templates/login/twofactor/invalid.twig diff --git a/libraries/classes/Plugins/TwoFactor/Invalid.php b/libraries/classes/Plugins/TwoFactor/Invalid.php new file mode 100644 index 0000000000..c6a42107c3 --- /dev/null +++ b/libraries/classes/Plugins/TwoFactor/Invalid.php @@ -0,0 +1,63 @@ +render(); + } + + /** + * Get user visible name + * + * @return string + */ + public static function getName() + { + return 'Invalid two-factor authentication'; + } + + /** + * Get user visible description + * + * @return string + */ + public static function getDescription() + { + return 'Error fallback only!'; + } +} + diff --git a/libraries/classes/TwoFactor.php b/libraries/classes/TwoFactor.php index 6e3de437c7..a0cd5609db 100644 --- a/libraries/classes/TwoFactor.php +++ b/libraries/classes/TwoFactor.php @@ -126,6 +126,8 @@ class TwoFactor $result = 'PhpMyAdmin\\Plugins\\TwoFactorPlugin'; if (in_array($name, $this->_available)) { $result = 'PhpMyAdmin\\Plugins\\TwoFactor\\' . ucfirst($name); + } elseif (! empty($name)) { + $result = 'PhpMyAdmin\\Plugins\\TwoFactor\\Invalid'; } return $result; } diff --git a/templates/login/twofactor/invalid.twig b/templates/login/twofactor/invalid.twig new file mode 100644 index 0000000000..568dd94af4 --- /dev/null +++ b/templates/login/twofactor/invalid.twig @@ -0,0 +1,3 @@ +
+{% trans "The configured two factor authentication is not available, please install missing dependencies." %} +