2016-10-06 8 views
0

내 Laravel 5.2 프로젝트에서 두려운 VerifyCsrfToken 오류가 발생했습니다.VerifyCsrfToken.php의 TokenMismatchException Laravel 5.2

관련 코드는 다음과 같습니다 :

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

오류가 발생 오류를 던지고있다

노선 내가 POST 요청을

등록 컨트롤러을 사용하여 새 사용자를 등록 할 때

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'), 
    ]); 
} 

예상 출력 다른 VerifyCsrf 불일치 질문에서 내 질문에 다른 점은 무엇

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

내가 {{ csrf_token() }} 숨겨진 필드를 추가하는 형태가없는입니다. 방금 우편 배달부 (우편물)를 사용하여 요청을 보내면 사용자를 등록해야합니다.

나는 app/Http/Middleware/VerifyCsrfToken.php

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

오류가 사라지고 그것이 정상적으로 작동하지만, 내가 생각하지 않는 것이 좋습니다 방법에 다음과 같은 편집 작업을 수행 할 때.

감사합니다.

+0

"/ *"전혀 사용하지 않는 것이 좋습니다 방법. –

+0

@GauravDave 위의 코드에서, 내가하고 싶은 것은 postman을 사용하여 본문에 필요한 데이터를 보내고 사용자 (이것은 단지 최종 버전이 아니 었습니다)를 등록하는 것입니다. 링크는'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

도움이 되었기 때문에 기쁩니다. –