WebAuthnDeviceLostController.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Http\Controllers\Auth;
  3. use App\Http\Controllers\Controller;
  4. use DarkGhostHunter\Larapass\Http\SendsWebAuthnRecoveryEmail;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Validation\ValidationException;
  7. class WebAuthnDeviceLostController extends Controller
  8. {
  9. use SendsWebAuthnRecoveryEmail;
  10. /*
  11. |--------------------------------------------------------------------------
  12. | WebAuthn Device Lost Controller
  13. |--------------------------------------------------------------------------
  14. |
  15. | This is a convenience controller that will allow your users who have lost
  16. | their WebAuthn device to register another without using passwords. This
  17. | will send him a link to his email to create new WebAuthn credentials.
  18. |
  19. */
  20. /**
  21. * The recovery credentials to retrieve through validation rules.
  22. *
  23. * @return array|string[]
  24. */
  25. protected function recoveryRules(): array
  26. {
  27. return [
  28. 'email' => 'required|exists:users,email',
  29. ];
  30. }
  31. /**
  32. * Get the response for a successful account recovery link.
  33. *
  34. * @param \Illuminate\Http\Request $request
  35. * @param string $response
  36. *
  37. * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
  38. */
  39. protected function sendRecoveryLinkResponse(Request $request, string $response)
  40. {
  41. return response()->json(['message' => __('auth.webauthn.account_recovery_email_sent')]);
  42. }
  43. }