]> BookStack Code Mirror - bookstack/blobdiff - app/Auth/Access/Mfa/TotpService.php
Skip intermediate login page with single provider
[bookstack] / app / Auth / Access / Mfa / TotpService.php
index d1013978bb6b813757f16fa8f761be21dcf53a2a..e73c549fe0790230f89cb97334afcdc1ca9079a0 100644 (file)
@@ -8,6 +8,7 @@ use BaconQrCode\Renderer\ImageRenderer;
 use BaconQrCode\Renderer\RendererStyle\Fill;
 use BaconQrCode\Renderer\RendererStyle\RendererStyle;
 use BaconQrCode\Writer;
+use BookStack\Auth\User;
 use PragmaRX\Google2FA\Google2FA;
 use PragmaRX\Google2FA\Support\Constants;
 
@@ -36,11 +37,11 @@ class TotpService
     /**
      * Generate a TOTP URL from secret key.
      */
-    public function generateUrl(string $secret): string
+    public function generateUrl(string $secret, User $user): string
     {
         return $this->google2fa->getQRCodeUrl(
             setting('app-name'),
-            user()->email,
+            $user->email,
             $secret
         );
     }
@@ -51,10 +52,11 @@ class TotpService
     public function generateQrCodeSvg(string $url): string
     {
         $color = Fill::uniformColor(new Rgb(255, 255, 255), new Rgb(32, 110, 167));
+
         return (new Writer(
             new ImageRenderer(
-                new RendererStyle(192, 0, null, null, $color),
-                new SvgImageBackEnd
+                new RendererStyle(192, 4, null, null, $color),
+                new SvgImageBackEnd()
             )
         ))->writeString($url);
     }
@@ -68,4 +70,4 @@ class TotpService
         /** @noinspection PhpUnhandledExceptionInspection */
         return $this->google2fa->verifyKey($secret, $code);
     }
-}
\ No newline at end of file
+}