2024-05-13 18:55:34 -04:00
< x - action - section >
< x - slot name = " title " >
{{ __ ( 'Two Factor Authentication' ) }}
</ x - slot >
< x - slot name = " description " >
{{ __ ( 'Add additional security to your account using two factor authentication.' ) }}
</ x - slot >
< x - slot name = " content " >
2024-06-22 21:55:20 -04:00
< h3 class = " text-lg font-medium text-gray-900 dark:text-gray-100 " >
2024-05-13 18:55:34 -04:00
@ if ( $this -> enabled )
@ if ( $showingConfirmation )
{{ __ ( 'Finish enabling two factor authentication.' ) }}
@ else
{{ __ ( 'You have enabled two factor authentication.' ) }}
@ endif
@ else
{{ __ ( 'You have not enabled two factor authentication.' ) }}
@ endif
</ h3 >
2024-06-22 21:55:20 -04:00
< div class = " mt-3 max-w-xl text-sm text-gray-600 dark:text-gray-400 " >
2024-05-13 18:55:34 -04:00
< p >
{{ __ ( 'When two factor authentication is enabled, you will be prompted for a secure, random token during authentication. You may retrieve this token from your phone\'s Google Authenticator application.' ) }}
</ p >
</ div >
@ if ( $this -> enabled )
@ if ( $showingQrCode )
2024-06-22 21:55:20 -04:00
< div class = " mt-4 max-w-xl text-sm text-gray-600 dark:text-gray-400 " >
2024-05-13 18:55:34 -04:00
< p class = " font-semibold " >
@ if ( $showingConfirmation )
{{ __ ( 'To finish enabling two factor authentication, scan the following QR code using your phone\'s authenticator application or enter the setup key and provide the generated OTP code.' ) }}
@ else
{{ __ ( 'Two factor authentication is now enabled. Scan the following QR code using your phone\'s authenticator application or enter the setup key.' ) }}
@ endif
</ p >
</ div >
< div class = " mt-4 p-2 inline-block bg-white " >
{ !! $this -> user -> twoFactorQrCodeSvg () !! }
</ div >
2024-06-22 21:55:20 -04:00
< div class = " mt-4 max-w-xl text-sm text-gray-600 dark:text-gray-400 " >
2024-05-13 18:55:34 -04:00
< p class = " font-semibold " >
{{ __ ( 'Setup Key' ) }} : {{ decrypt ( $this -> user -> two_factor_secret ) }}
</ p >
</ div >
@ if ( $showingConfirmation )
< div class = " mt-4 " >
< x - label for = " code " value = " { { __('Code') }} " />
< x - input id = " code " type = " text " name = " code " class = " block mt-1 w-1/2 " inputmode = " numeric " autofocus autocomplete = " one-time-code "
wire : model = " code "
wire : keydown . enter = " confirmTwoFactorAuthentication " />
< x - input - error for = " code " class = " mt-2 " />
</ div >
@ endif
@ endif
@ if ( $showingRecoveryCodes )
2024-06-22 21:55:20 -04:00
< div class = " mt-4 max-w-xl text-sm text-gray-600 dark:text-gray-400 " >
2024-05-13 18:55:34 -04:00
< p class = " font-semibold " >
{{ __ ( 'Store these recovery codes in a secure password manager. They can be used to recover access to your account if your two factor authentication device is lost.' ) }}
</ p >
</ div >
< div class = " grid gap-1 max-w-xl mt-4 px-4 py-4 font-mono text-sm bg-gray-100 rounded-lg " >
@ foreach ( json_decode ( decrypt ( $this -> user -> two_factor_recovery_codes ), true ) as $code )
< div > {{ $code }} </ div >
@ endforeach
</ div >
@ endif
@ endif
< div class = " mt-5 " >
@ if ( ! $this -> enabled )
< x - confirms - password wire : then = " enableTwoFactorAuthentication " >
< x - button type = " button " wire : loading . attr = " disabled " >
{{ __ ( 'Enable' ) }}
</ x - button >
</ x - confirms - password >
@ else
@ if ( $showingRecoveryCodes )
< x - confirms - password wire : then = " regenerateRecoveryCodes " >
< x - secondary - button class = " me-3 " >
{{ __ ( 'Regenerate Recovery Codes' ) }}
</ x - secondary - button >
</ x - confirms - password >
@ elseif ( $showingConfirmation )
< x - confirms - password wire : then = " confirmTwoFactorAuthentication " >
< x - button type = " button " class = " me-3 " wire : loading . attr = " disabled " >
{{ __ ( 'Confirm' ) }}
</ x - button >
</ x - confirms - password >
@ else
< x - confirms - password wire : then = " showRecoveryCodes " >
< x - secondary - button class = " me-3 " >
{{ __ ( 'Show Recovery Codes' ) }}
</ x - secondary - button >
</ x - confirms - password >
@ endif
@ if ( $showingConfirmation )
< x - confirms - password wire : then = " disableTwoFactorAuthentication " >
< x - secondary - button wire : loading . attr = " disabled " >
{{ __ ( 'Cancel' ) }}
</ x - secondary - button >
</ x - confirms - password >
@ else
< x - confirms - password wire : then = " disableTwoFactorAuthentication " >
< x - danger - button wire : loading . attr = " disabled " >
{{ __ ( 'Disable' ) }}
</ x - danger - button >
</ x - confirms - password >
@ endif
@ endif
</ div >
</ x - slot >
</ x - action - section >