質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

2回答

2269閲覧

Herokuでの、Laravelのメール認証機能がうまく実装できない

siophp

総合スコア23

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2019/04/27 08:19

編集2022/01/12 10:55

問題点

https://qiita.com/sutara79/items/c913d7eedd5456635ea5
を参考にメールでのユーザー認証機能を開発している。会員登録と同時にメールが送信されるところまでは問題なく動くが、メールに届いた認証ボタンを押すとエラーになってしまう。

エラー文は

ReflectionException
Class App\Http\Controllers\Auth\Request does not exist

と出力される

試したこと

https://readouble.com/laravel/5.8/ja/verification.html
公式ドキュメントを参考に、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の実行
→変化無し

https://teratail.com/questions/91573
こちらの記事を参考に、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)をチェックしてみたのですが、今の所解決ができていません…

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

昨日ちょうど僕もハマっていました。(Laravelの経験が浅いのと、酒飲みながらだったこともあり4時間近くも・・・)

先ほど仕切り直して公式ドキュメントに即してソース修正し、nginxのコンフィグも見直したところ正常に認証が通るようになりました。

参考になれば幸いです。

事象

会員登録後に送信されるメアド認証メールのリンクをクリックするとInvaildSignatureException(403)エラーが発生し認証が通らない。artisanコマンドは実行済み

shell

1php artisan make:auth 2php artisan migrate

環境

  • Docker(nginx+php-fpm)
  • Laravel:5.8.15
  • HTTPS環境(オレオレ証明書)

対応内容

①nginxのコンフィグ修正

conf

1 location / { 2 try_files $uri $uri/ /index.php?$query_string; 3 }

②ソース修正

/routes/web.php

diff

1-Auth::routes(); 2+Auth::routes(['verify' => true]); 3 4// 動作確認用 5-Route::get('/home', 'HomeController@index')->name('home'); 6+Route::get('/home', 'HomeController@index')->name('home')->middleware('verified'); 7

app/User.php

diff

1234-class User extends Authenticatable 5+class User extends Authenticatable implements MustVerifyEmail

投稿2019/05/08 08:13

編集2019/05/08 11:16
s9i

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

関連するのはモデルではなく、Controllerだと思います。
エラーが発生しているのもControllerではないですか?

届いたメールについているURLをクリックしたあとに表示されるページを表示するControllerに問題がありそうです。
おそらく、そのControllerに
use Illuminate\Http\Request;を追加すると問題が解決しそうですが・・・

投稿2019/04/27 10:53

mikkame

総合スコア5036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

siophp

2019/04/27 12:46

回答ありがとうございます。 その辺りチェックしたつもりだったのですが、authフォルダのVerificationControllerにuseし忘れていたようです。 use Illuminate\Http\Request;を追加したところ次は 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)をチェックしてみたのですが、今の所解決ができていません…
mikkame

2019/04/29 02:59

すみません、そちらの内容についてはわかりかねます。 質問内容が変わるので新しく質問したほうが良いかと思います
siophp

2019/04/29 14:32

返信ありがとうございます。承知致しました。
mpyw

2019/05/03 19:40

まずはメールに記載された signature パラメータの検証からでしょうね…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問