Laravel/UIを使ってメール認証でユーザー登録(新規登録)をしようと実装したら403エラーと404エラーで困った。
/registerから新規ユーザー登録して、送信されたメールのボタンをクリックしたら、403エラーもしくは404エラーで先に進めない。
海外のサイトも含めてかなり探したつもりだけどなかなか解決できなかった。
私なりにあーでもないこーでもないと試行錯誤したらできた!
ネットではこのエラー解決策でよく出てくる「TrustProxies.php」などは、対策済み。
ちなみに「// Auth::routes(['verify'=>true]);」はコメントアウトして使っていません。
それでも403エラー、404エラーが回避できない方は下記をやってみてください。
まず、User.php
protected $fillable = [
'name',
'email',
'password',
'email_verified_at'//これを追加
];
次にweb.php
ここの{hash}が抜けていた
Route::get('email/verify/{id}/{hash}', [App\Http\Controllers\Auth\VerificationController::class, 'verify'])->name('verification.verify');
次にVerificationController.php
public function __construct()
{
// $this->middleware('auth');ここをコメントアウト
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
これで403エラー、404エラーから開放されてメール認証が上手くいきました。