Skip to content

Commit cde0612

Browse files
authored
Return recovery errors under the recovery_code key (#401)
1 parent 06c7a41 commit cde0612

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

src/Http/Responses/FailedTwoFactorLoginResponse.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,16 @@ class FailedTwoFactorLoginResponse implements FailedTwoFactorLoginResponseContra
1515
*/
1616
public function toResponse($request)
1717
{
18-
$message = __('The provided two factor authentication code was invalid.');
18+
[$key, $message] = $request->has('recovery_code')
19+
? ['recovery_code', __('The provided two factor recovery code was invalid.')]
20+
: ['code', __('The provided two factor authentication code was invalid.')];
1921

2022
if ($request->wantsJson()) {
2123
throw ValidationException::withMessages([
22-
'code' => [$message],
24+
$key => [$message],
2325
]);
2426
}
2527

26-
return redirect()->route('two-factor.login')->withErrors(['code' => $message]);
28+
return redirect()->route('two-factor.login')->withErrors([$key => $message]);
2729
}
2830
}

tests/AuthenticatedSessionControllerTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,8 @@ public function test_two_factor_challenge_fails_for_old_otp_and_zero_window()
328328
]);
329329

330330
$response->assertRedirect('/two-factor-challenge')
331-
->assertSessionHas('login.id');
331+
->assertSessionHas('login.id')
332+
->assertSessionHasErrors(['code']);
332333
}
333334

334335
public function test_two_factor_challenge_can_be_passed_via_recovery_code()
@@ -380,7 +381,8 @@ public function test_two_factor_challenge_can_fail_via_recovery_code()
380381
]);
381382

382383
$response->assertRedirect('/two-factor-challenge')
383-
->assertSessionHas('login.id');
384+
->assertSessionHas('login.id')
385+
->assertSessionHasErrors(['recovery_code']);
384386
$this->assertNull(Auth::getUser());
385387
}
386388

0 commit comments

Comments
 (0)