mirror of
				https://github.com/getgrav/grav-plugin-admin.git
				synced 2025-10-31 02:16:26 +01:00 
			
		
		
		
	Regression: Fixed broken 2FA form [#2109]
This commit is contained in:
		| @@ -3,6 +3,7 @@ | |||||||
|  |  | ||||||
| 1. [](#bugfix) | 1. [](#bugfix) | ||||||
|     * Fixed missing `admin-preset.css` in multisite environments |     * Fixed missing `admin-preset.css` in multisite environments | ||||||
|  |     * Regression: Fixed broken 2FA form [#2109](https://github.com/getgrav/grav-plugin-admin/issues/2109) | ||||||
|  |  | ||||||
| # v1.10.9 | # v1.10.9 | ||||||
| ## 04/06/2021 | ## 04/06/2021 | ||||||
|   | |||||||
| @@ -34,7 +34,6 @@ use Grav\Plugin\Admin\Themes; | |||||||
| use Grav\Plugin\Admin\AdminController; | use Grav\Plugin\Admin\AdminController; | ||||||
| use Grav\Plugin\Admin\Twig\AdminTwigExtension; | use Grav\Plugin\Admin\Twig\AdminTwigExtension; | ||||||
| use Grav\Plugin\Admin\WhiteLabel; | use Grav\Plugin\Admin\WhiteLabel; | ||||||
| use Grav\Plugin\FlexObjects\FlexFormFactory; |  | ||||||
| use Grav\Plugin\Form\Form; | use Grav\Plugin\Form\Form; | ||||||
| use Grav\Plugin\Form\Forms; | use Grav\Plugin\Form\Forms; | ||||||
| use Grav\Plugin\Login\Login; | use Grav\Plugin\Login\Login; | ||||||
| @@ -684,10 +683,10 @@ class AdminPlugin extends Plugin | |||||||
|         $twig->twig_vars['forms'] = $forms; |         $twig->twig_vars['forms'] = $forms; | ||||||
|  |  | ||||||
|         // preserve form validation |         // preserve form validation | ||||||
|         if (!isset($twig->twig_vars['form'])) { |         if ($this->admin->form) { | ||||||
|             if ($this->admin->form) { |             $twig->twig_vars['form'] = $this->admin->form; | ||||||
|                 $twig->twig_vars['form'] = $this->admin->form; |         } elseif (!isset($twig->twig_vars['form'])) { | ||||||
|             } elseif (isset($header->form)) { |             if (isset($header->form)) { | ||||||
|                 $twig->twig_vars['form'] = new Form($page); |                 $twig->twig_vars['form'] = new Form($page); | ||||||
|             } elseif (isset($header->forms)) { |             } elseif (isset($header->forms)) { | ||||||
|                 $twig->twig_vars['form'] = new Form($page, null, reset($header->forms)); |                 $twig->twig_vars['form'] = new Form($page, null, reset($header->forms)); | ||||||
|   | |||||||
| @@ -250,21 +250,26 @@ class LoginController extends AdminController | |||||||
|             return $this->createRedirectResponse('/'); |             return $this->createRedirectResponse('/'); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         $login = $this->getLogin(); | ||||||
|  |  | ||||||
|         $this->page = $this->createPage('login'); |         $this->page = $this->createPage('login'); | ||||||
|         $this->form = $this->getForm('admin-login-twofa'); |         $this->form = $this->getForm('login-twofa'); | ||||||
|         try { |         try { | ||||||
|             $this->checkNonce(); |             $this->checkNonce(); | ||||||
|         } catch (PageExpiredException $e) { |         } catch (PageExpiredException $e) { | ||||||
|             $this->setMessage($this->translate('PLUGIN_ADMIN.INVALID_SECURITY_TOKEN'), 'error'); |             $this->setMessage($this->translate('PLUGIN_ADMIN.INVALID_SECURITY_TOKEN'), 'error'); | ||||||
|  |  | ||||||
|             return $this->createDisplayResponse(); |             // Failed 2FA nonce check, logout and redirect. | ||||||
|  |             $login->logout(['admin' => true]); | ||||||
|  |             $this->form->reset(); | ||||||
|  |  | ||||||
|  |             return $this->createRedirectResponse('/'); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |  | ||||||
|         $post = $this->getPost(); |         $post = $this->getPost(); | ||||||
|         $data = $post['data'] ?? []; |         $data = $post['data'] ?? []; | ||||||
|  |  | ||||||
|         $login = $this->getLogin(); |  | ||||||
|         try { |         try { | ||||||
|             $twoFa = $login->twoFactorAuth(); |             $twoFa = $login->twoFactorAuth(); | ||||||
|         } catch (TwoFactorAuthException $e) { |         } catch (TwoFactorAuthException $e) { | ||||||
|   | |||||||
| @@ -10,8 +10,6 @@ | |||||||
| {% endblock %} | {% endblock %} | ||||||
|  |  | ||||||
| {% block form %} | {% block form %} | ||||||
|     {% set form = forms['login'] %} |  | ||||||
|  |  | ||||||
|     {% for field_name,field in form.fields %} |     {% for field_name,field in form.fields %} | ||||||
|         {% if field.type %} |         {% if field.type %} | ||||||
|             {% set field = field|merge({ name: field.name ?? field_name }) %} |             {% set field = field|merge({ name: field.name ?? field_name }) %} | ||||||
|   | |||||||
| @@ -5,8 +5,6 @@ | |||||||
|  |  | ||||||
| {% block form %} | {% block form %} | ||||||
|  |  | ||||||
|     {% set form = forms['login-twofa'] %} |  | ||||||
|  |  | ||||||
|     {% for field_name, field in form.fields %} |     {% for field_name, field in form.fields %} | ||||||
|         {% if field.type %} |         {% if field.type %} | ||||||
|             {% set field = field|merge({ name: field.name ?? field_name }) %} |             {% set field = field|merge({ name: field.name ?? field_name }) %} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user