2016-10-06 23 views
0

Laravel 5.2プロジェクトで恐ろしいVerifyCsrfTokenエラーが発生しました。VerifyCsrfToken.phpのTokenMismatchException Laravel 5.2

関連するコードは以下の通りです:私は、新しいユーザー使用してPOSTリクエスト

登録コントローラーを登録しようとすると、

Route::group(['middleware' => ['web']], function(){ 
    Route::resource('register', 'RegisterController'); 
}); 

エラーがスローされエラーを投げている

ルート

public function store(Request $request) 
{ 
    return AppUser::create([ 
     'name' => $request->input('name'), 
     'email' => $request->input('name'), 
     'contact_number' => $request->input('contact_number'), 
     'api_token' => str_random(60), 
     'password' => $request->input('password'), 
    ]); 
} 

予想される出力

{ 
    "email": "test.name", 
    "contact_number": "654987123", 
    "updated_at": "2016-10-06 06:30:26", 
    "created_at": "2016-10-06 06:30:26", 
    "id": 4 
} 

ある他のVerifyCsrf不一致の質問から、私の質問は違う何か、私は{{ csrf_token() }}隠しフィールドを追加するためのフォームを持っていません。私はちょうど郵便配達員(およびカール)を使用して要求を送り、ユーザーは登録する必要があります。

私はapp/Http/Middleware/VerifyCsrfToken.php

protected $except = [ 
    '/*' 
    // 
]; 

で次の編集を行うとエラーが消え、それが必要として、それは動作しますが、私はお勧めの方法だとは思いません。

ありがとうございました

+0

「/ *」で、すべての推奨されない方法を。 –

+0

@GauravDave上記のコードから、私がしたいのは、ユーザを登録することです(これは最終バージョンではないテストでした)ので、郵便配達を使用して本文に必要なデータを送り、リンクは 'localhost:8000/register'です。そして、データをデータベースに入力します。 – user3536523

+0

誰がこれをdownvoted:/ – user3536523

答えて

1

ルート・ブレード・ファイルにトークンを格納します。あなただけのデフォルトのビューを使用している場合はjQueryを使用して、あなたは今、すべてのリクエストヘッダーにトークンを含めるためにそれを指示することができた場合は、layout/main.blade.php

<meta name="csrf-token" content="{{ csrf_token() }}"> 

であってもよいです。あなたはまだ取得する場合

$.ajaxSetup({ 
    headers: { 
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
     } 
    }); 

は、エラーは、次のとおりです。https://gist.github.com/ethanstenis/3cc78c1d097680ac7ef0正確にあなたが達成しようとし、そしてYES追加している何

+0

あなたに帽子があります。とても感謝しております。私はgithubのポストの指示に従って、それは今Postmanで動作します。私のhttpリクエストでヘッダーを含めると、私のAPIはうまくいくはずです。 – user3536523

+0

これは助けてうれしいです。 –

関連する問題