diff options
Diffstat (limited to 'src/Wallabag/CoreBundle')
3 files changed, 16 insertions, 9 deletions
diff --git a/src/Wallabag/CoreBundle/Controller/ConfigController.php b/src/Wallabag/CoreBundle/Controller/ConfigController.php index ed92c999..9257ab18 100644 --- a/src/Wallabag/CoreBundle/Controller/ConfigController.php +++ b/src/Wallabag/CoreBundle/Controller/ConfigController.php | |||
@@ -197,18 +197,25 @@ class ConfigController extends Controller | |||
197 | } | 197 | } |
198 | 198 | ||
199 | $user = $this->getUser(); | 199 | $user = $this->getUser(); |
200 | $secret = $this->get('scheb_two_factor.security.google_authenticator')->generateSecret(); | ||
200 | 201 | ||
201 | if (!$user->isGoogleTwoFactor()) { | 202 | $user->setGoogleAuthenticatorSecret($secret); |
202 | $secret = $this->get('scheb_two_factor.security.google_authenticator')->generateSecret(); | 203 | $user->setEmailTwoFactor(false); |
203 | 204 | ||
204 | $user->setGoogleAuthenticatorSecret($secret); | 205 | $backupCodes = (new BackupCodes())->toArray(); |
205 | $user->setEmailTwoFactor(false); | 206 | $backupCodesHashed = array_map( |
206 | $user->setBackupCodes((new BackupCodes())->toArray()); | 207 | function ($backupCode) { |
208 | return password_hash($backupCode, PASSWORD_DEFAULT); | ||
209 | }, | ||
210 | $backupCodes | ||
211 | ); | ||
207 | 212 | ||
208 | $this->container->get('fos_user.user_manager')->updateUser($user, true); | 213 | $user->setBackupCodes($backupCodesHashed); |
209 | } | 214 | |
215 | $this->container->get('fos_user.user_manager')->updateUser($user, true); | ||
210 | 216 | ||
211 | return $this->render('WallabagCoreBundle:Config:otp_app.html.twig', [ | 217 | return $this->render('WallabagCoreBundle:Config:otp_app.html.twig', [ |
218 | 'backupCodes' => $backupCodes, | ||
212 | 'qr_code' => $this->get('scheb_two_factor.security.google_authenticator')->getQRContent($user), | 219 | 'qr_code' => $this->get('scheb_two_factor.security.google_authenticator')->getQRContent($user), |
213 | ]); | 220 | ]); |
214 | } | 221 | } |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig index 2e4442e3..0919646e 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig | |||
@@ -20,7 +20,7 @@ | |||
20 | <li> | 20 | <li> |
21 | <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p> | 21 | <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p> |
22 | 22 | ||
23 | <p><strong>{{ app.user.getBackupCodes|join("\n")|nl2br }}</strong></p> | 23 | <p><strong>{{ backupCodes|join("\n")|nl2br }}</strong></p> |
24 | </li> | 24 | </li> |
25 | <li> | 25 | <li> |
26 | <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p> | 26 | <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p> |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig index 6aef355e..7875d787 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig | |||
@@ -24,7 +24,7 @@ | |||
24 | <li> | 24 | <li> |
25 | <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p> | 25 | <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p> |
26 | 26 | ||
27 | <p><strong>{{ app.user.getBackupCodes|join("\n")|nl2br }}</strong></p> | 27 | <p><strong>{{ backupCodes|join("\n")|nl2br }}</strong></p> |
28 | </li> | 28 | </li> |
29 | <li> | 29 | <li> |
30 | <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p> | 30 | <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p> |