28 lines
636 B
PHP
28 lines
636 B
PHP
<?php
|
|
|
|
namespace Laravel\Fortify\Actions;
|
|
|
|
use Illuminate\Support\Collection;
|
|
use Laravel\Fortify\Events\RecoveryCodesGenerated;
|
|
use Laravel\Fortify\RecoveryCode;
|
|
|
|
class GenerateNewRecoveryCodes
|
|
{
|
|
/**
|
|
* Generate new recovery codes for the user.
|
|
*
|
|
* @param mixed $user
|
|
* @return void
|
|
*/
|
|
public function __invoke($user)
|
|
{
|
|
$user->forceFill([
|
|
'two_factor_recovery_codes' => encrypt(json_encode(Collection::times(8, function () {
|
|
return RecoveryCode::generate();
|
|
})->all())),
|
|
])->save();
|
|
|
|
RecoveryCodesGenerated::dispatch($user);
|
|
}
|
|
}
|