Skip to content

Commit a707f2d

Browse files
Add ReplacedRecoveryCode event (#301)
* add event * formatting * add file Co-authored-by: Taylor Otwell <[email protected]>
1 parent ee581c9 commit a707f2d

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

src/Events/RecoveryCodeReplaced.php

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
namespace Laravel\Fortify\Events;
4+
5+
use Illuminate\Queue\SerializesModels;
6+
7+
class RecoveryCodeReplaced
8+
{
9+
use SerializesModels;
10+
11+
/**
12+
* The authenticated user.
13+
*
14+
* @var \Illuminate\Contracts\Auth\Authenticatable
15+
*/
16+
public $user;
17+
18+
/**
19+
* The recovery code.
20+
*
21+
* @var string
22+
*/
23+
public $code;
24+
25+
/**
26+
* Create a new event instance.
27+
*
28+
* @param \Illuminate\Contracts\Auth\Authenticatable $user
29+
* @param string $code
30+
* @return void
31+
*/
32+
public function __construct($user, $code)
33+
{
34+
$this->user = $user;
35+
$this->code = $code;
36+
}
37+
}

src/Http/Controllers/TwoFactorAuthenticatedSessionController.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Laravel\Fortify\Contracts\FailedTwoFactorLoginResponse;
99
use Laravel\Fortify\Contracts\TwoFactorChallengeViewResponse;
1010
use Laravel\Fortify\Contracts\TwoFactorLoginResponse;
11+
use Laravel\Fortify\Events\RecoveryCodeReplaced;
1112
use Laravel\Fortify\Http\Requests\TwoFactorLoginRequest;
1213

1314
class TwoFactorAuthenticatedSessionController extends Controller
@@ -57,6 +58,8 @@ public function store(TwoFactorLoginRequest $request)
5758

5859
if ($code = $request->validRecoveryCode()) {
5960
$user->replaceRecoveryCode($code);
61+
62+
event(new RecoveryCodeReplaced($user, $code));
6063
} elseif (! $request->hasValidCode()) {
6164
return app(FailedTwoFactorLoginResponse::class);
6265
}

0 commit comments

Comments
 (0)