2016-12-29 9 views
1

私はLaravel 5.2を使用しており、すべての認証を手動で行っています。だから、すべてが動作しますが、私はtoken mismatchエラーを取得した理由は、私は私のルート・ファイル内のwebミドルウェアを通じて私のルートを通らないよということですが:Laravel 5.2トークンのミスマッチとミドルウェアのエラー

Route::social();

public function social() { 

    $this->post('/signup',['uses'=>'[email protected]','as'=>'signup']); 
    $this->post('/signin',['uses'=>'[email protected]','as'=>'signin']); 
    $this->get('/dashboard',function() { 
     return view('dashboard'); 
    })->middleware('auth'); 
} 

ある

Route::group(['middleware'=>['web']],function(){ 
    Route::get('/', function() { 
     return view('welcome'); 
    })->name('home'); 
}); 
Route::social(); 

しかし、WebミドルウェアグループにRoute::social();を移動すると、エラーはカウントされず、空のエラーがあっても返されます。どのように私はそれを回避するのですか?私は両方のものが欲しい!

あなたはおそらく、手動ビューに$error配列を追加している{!! Form::token() !!}

答えて

1

を使用して、私の形でトークンフィールドをした私は、webミドルウェアは、これが上書きされますので、同じことを行います。 webミドルウェアグループには、\Illuminate\View\Middleware\ShareErrorsFromSessionが含まれており、検証エラーのあるビューにエラー変数を作成します。

これを解決するには2通りの方法があります。 1つは、このルートのための\App\Http\Middleware\VerifyCsrfTokenミドルウェアのみを含めることです。もう1つは、私が望むように、webミドルウェアグループにルートを追加することですが、エラーのあるアレイには別の名前を使用します。

関連する問題