Laravel JetStream PWリセット時にメールアドレス入力を除外したい。


JetStreamでPWリセットする際にメールアドレスを入力せずに
変更するのどうしたらいいのかな?と思いました。

パッと考えたこと

  • メール送信時にCookie を設定して、PW変更画面で読み取って表示
  • 送信するトークンにメールアドレスを追加してControllerなどでうまく処理する。

結論

送信されるリセットメールのurlパラメータ見てませんでした。

http://localhost:8080/reset-password/{トークン}?email=ogaki.kana%40example.net

auth/reset-password.blade.phpで使用されている
input typeを変更するだけでした。

<x-jet-input id="email" class="block mt-1 w-full" type="hidden" name="email" :value="old('email', $request->email)" required autofocus />
// typeをhiddenに変更
<x-jet-input id="email" class="block mt-1 w-full" type="hidden" name="email" :value="old('email', $request->email)" required autofocus />


パスワード変更できました。

後は、自動でログインできれば、ユーザーにとっていいかな。