質問: ### 問題点 を参考にメールでのユーザー認証機能を開発している。会員登録と同時にメールが送信されるところまでは問題なく動くが、メールに届いた認証ボタンを押すとエラーになってしまう。 エラー文は ``` ReflectionException ``` ``` Class App\Http\Controllers\Auth\Request does not exist ``` と出力される ### 試したこと 公式ドキュメントを参考に、App\Userを ``` namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable implements MustVerifyEmail { use Notifiable; // ... } ``` に変更した 結果→変化無し composer dump-autoloadの実行 →変化無し こちらの記事を参考に、App/Http/Requests/request.phpの作成 および、引数の型のチェック →変化無し ### 環境 サーバー nginx 開発環境 docker インフラ heroku ### 追記 コメントのおかげで、ReflectionExceptionの問題は解決しました。 そして次は403エラーが出るようになりました。 InvalidSignatureExceptionとのことです https://stackoverflow.com/questions/53388811/laravel-5-7-email-verify-broken-link こちらを参考に php artisan config:clearしてみたり、公式ドキュメント(https://laravel.com/docs/5.7/verification)をチェックしてみたのですが、今の所解決ができていません...
回答: 昨日ちょうど僕もハマっていました。(Laravelの経験が浅いのと、酒飲みながらだったこともあり4時間近くも・・・) 先ほど仕切り直して公式ドキュメントに即してソース修正し、nginxのコンフィグも見直したところ正常に認証が通るようになりました。 参考になれば幸いです。 事象 == 会員登録後に送信されるメアド認証メールのリンクをクリックするとInvaildSignatureException(403)エラーが発生し認証が通らない。artisanコマンドは実行済み ``` php artisan make:auth php artisan migrate ``` 環境 == * Docker(nginx+php-fpm) * Laravel:5.8.15 * HTTPS環境(オレオレ証明書) 対応内容 ==== 1nginxのコンフィグ修正 ``` location / { try_files $uri $uri/ /index.php?$query_string; } ``` 2ソース修正 ### /routes/web.php ``` -Auth::routes(); +Auth::routes(['verify' => true]); // 動作確認用 -Route::get('/home', 'HomeController@index')->name('home'); +Route::get('/home', 'HomeController@index')->name('home')->middleware('verified'); ``` ### app/User.php ``` ・ ・ ・ -class User extends Authenticatable +class User extends Authenticatable implements MustVerifyEmail ```