2016-10-31 27 views
1

Laravelアプリに電子メール認証システムが追加されました。私はそれのために "jreanの"パッケージを使用しています。Laravel 5.3 - セッションストアが要求に応じて設定されていません

VerifiesUsersの特性のgetVerification()機能を上書きしたいと思います。そのため、私はRegisterController内に同じ名前の関数を追加しました。

public function getVerification(Request $request, $token) 

{  

$this->validateRequest($request); 

try { 
    UserVerification::process($request->input('email'), $token, $this->userTable()); 
} catch (UserNotFoundException $e) { 
    return redirect($this->redirectIfVerificationFails()); 
} catch (UserIsVerifiedException $e) { 
    return redirect($this->redirectIfVerified()); 
} catch (TokenMismatchException $e) { 
    return redirect($this->redirectIfVerificationFails()); 
} 

$request->session()->flash('message', 'Email address has been successfully verified'); 
return redirect($this->redirectAfterVerification()); 
} 

しかし、私の関数が検証呼び出しごとに呼び出されると、「セッションストアは要求に応じて設定されていません」というエラーが表示されます。エラー。私はそれが正確に何を意味し、どのように解決するのかは分かりません。

答えて

3

この理由は、パッケージで宣言されているルートがwebミドルウェア内に配置されていないためです。

これを回避するには、そのパッケージのルートをroutes/web.phpに追加することができます。ルートは以下のとおりです。

Route::get('email-verification/error', 'Auth\[email protected]')->name('email-verification.error'); 
Route::get('email-verification/check/{token}', 'Auth\[email protected]')->name('email-verification.check'); 

あなたの意志はちょうどあなたがあなたのconfig/app.phpJrean\UserVerification\UserVerificationServiceProvider::class,ラインがあなたのAppサービスプロバイダーの上にある(しかし、あなたのIlluminateサービスプロバイダの下に)ことを確認する必要があります。

希望すると便利です。

+0

ありがとうございました!あなたは間違いなく私の別の週末を骨抜きから救った。これは決して考えなかった。あなたは確かにこれのためのビールのパイントに値する。 – SanketR

関連する問題