実現したいこと
Laravel Breezeで作成できるログイン機能にメール認証を追加しようと考えています。
ユーザがアカウント登録後、入力したメールアドレス宛に認証メールを送信し、届いたメールのリンクをクリックするとログイン者専用の画面に遷移する仕組みです。
以下のサイトを参考にして実装しています。
https://readouble.com/laravel/10.x/ja/verification.html
発生している問題・エラーメッセージ
確認メールがメールボックスに届くことは確認できましたが、確認メールリンクを押下するとhttp403エラーが出てしまいます。
試したこと
以下のルーティングを定義しており、確認メールリンクがこのルーティングを通っていることはデバッグで確認しました。
しかし、ミドルウェアの「signed」ではじかれて403を表示しているようです。
試しに「signed」を外して確認メールリンクを押下したところ、ログイン者専用の画面に遷移することを確認できました。
php
1 Route::get('verify-email/{id}/{hash}', VerifyEmailController::class) 2 ->middleware(['signed', 'throttle:6,1']) 3 ->name('verification.verify');
「signed」はURLが正当であるかチェックするためのものであると認識していますが、原因がつかめずにいます。
何か原因でしょうか。
補足情報(FW/ツールのバージョンなど)
laravel10
php8
inertia
vue.js
docker

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/09/25 13:43
2023/09/25 14:25 編集