Fixed 2FA regenerate for Flex Users

This commit is contained in:
Matias Griese
2019-07-01 20:43:53 +03:00
parent 30e38312c5
commit b2276071d4
2 changed files with 15 additions and 10 deletions

View File

@@ -15,6 +15,7 @@
* Fixed possibility to override already existing translation by `Save As Language`
* Fixed missing default translation if page used plain `.md` file extension without language code
* Fixed wrong translation showing up as page fallback language
* Fixed 2FA regenerate for Flex Users
# v1.10.0-beta.2
## 06/21/2019

View File

@@ -235,6 +235,10 @@ class AdminController extends AdminBaseController
$secret = $twoFa->createSecret();
$image = $twoFa->getQrImageData($user->username, $secret);
$user->set('twofa_secret', $secret);
// TODO: data user can also use save, but please test it before removing this code.
if ($user instanceof \Grav\Common\User\DataUser\User) {
// Save secret into the user file.
$file = $user->file();
if ($file->exists()) {
@@ -243,9 +247,9 @@ class AdminController extends AdminBaseController
$file->save($content);
$file->free();
}
// Change secret in the session.
$user->set('twofa_secret', $secret);
} else {
$user->save();
}
$this->admin->json_response = ['status' => 'success', 'image' => $image, 'secret' => preg_replace('|(\w{4})|', '\\1 ', $secret)];
} catch (\Exception $e) {