diff --git a/routes/routes.php b/routes/routes.php index 1a49a9ff..b894cca4 100644 --- a/routes/routes.php +++ b/routes/routes.php @@ -17,6 +17,7 @@ use Laravel\Fortify\Http\Controllers\TwoFactorAuthenticatedSessionController; use Laravel\Fortify\Http\Controllers\TwoFactorAuthenticationController; use Laravel\Fortify\Http\Controllers\TwoFactorQrCodeController; +use Laravel\Fortify\Http\Controllers\TwoFactorSetupKeyController; use Laravel\Fortify\Http\Controllers\VerifyEmailController; Route::group(['middleware' => config('fortify.middleware', ['web'])], function () { @@ -154,6 +155,10 @@ ->middleware($twoFactorMiddleware) ->name('two-factor.qr-code'); + Route::get('/user/two-factor-setup-key', [TwoFactorSetupKeyController::class, 'show']) + ->middleware($twoFactorMiddleware) + ->name('two-factor.setup-key'); + Route::get('/user/two-factor-recovery-codes', [RecoveryCodeController::class, 'index']) ->middleware($twoFactorMiddleware) ->name('two-factor.recovery-codes'); diff --git a/src/Http/Controllers/TwoFactorSetupKeyController.php b/src/Http/Controllers/TwoFactorSetupKeyController.php new file mode 100644 index 00000000..567e79b2 --- /dev/null +++ b/src/Http/Controllers/TwoFactorSetupKeyController.php @@ -0,0 +1,26 @@ +user()->two_factor_secret)) { + abort(404, 'Two factor authentication has not been enabled.'); + } + + return response()->json([ + 'setupKey' => decrypt($request->user()->two_factor_secret), + ]); + } +}