loadRecoveryCodes(); } /** * Generate new recovery codes for the user. */ public function regenerateRecoveryCodes(GenerateNewRecoveryCodes $generateNewRecoveryCodes): void { $generateNewRecoveryCodes(auth()->user()); $this->loadRecoveryCodes(); } /** * Load the recovery codes for the user. */ private function loadRecoveryCodes(): void { $user = auth()->user(); if ($user->hasEnabledTwoFactorAuthentication() && $user->two_factor_recovery_codes) { try { $this->recoveryCodes = json_decode(decrypt($user->two_factor_recovery_codes), true); } catch (Exception) { $this->addError('recoveryCodes', 'Failed to load recovery codes'); $this->recoveryCodes = []; } } } }; ?>
{{ __('2FA Recovery Codes') }}
{{ __('Recovery codes let you regain access if you lose your 2FA device. Store them in a secure password manager.') }}
{{ __('Hide Recovery Codes') }} @if (filled($recoveryCodes)) {{ __('Regenerate Codes') }} @endif
@error('recoveryCodes') @enderror @if (filled($recoveryCodes))
@foreach($recoveryCodes as $code)
{{ $code }}
@endforeach
{{ __('Each recovery code can be used once to access your account and will be removed after use. If you need more, click Regenerate Codes above.') }} @endif