2017-02-15 8 views
2

私はlaravel 5.2を使っています。アンドロイド のWebサービスを作っている間、私は私がログインのWebサービスをjustmakeこのエラーを得たが、それは郵便配達にエラーがVerifyCsrfToken.php線67で TokenMismatchException私を示しています。私は、Webページで処理する方法を知っている がcsrf_tokenの隠しフィールドを渡すが、私は誰も私を助けることができる方法をtohandle Webサービスでは分からない ここに私のコードです: -トークン不一致例外android webservices?

enter code here 
public function user_login(Request $request){ 
    if($request->isMethod('post')){ 
     $userdata = $request->all(); 
     echo 'cvdasvc'; 
     unset($userdata['_token']); 
     $checkUserExist = User::where(['mobile'=>$userdata['mobile'],'password'=>$userdata['password']])->first(); 
     if(!empty($checkUserExist)){ 
      $message = "Login Successfully!"; 
      $userdata = $checkUserExist; 
     }else{ 
      $message = "wrong Creditanls!"; 
      $userdata = array(); 
     } 
     echo json_encode(array(
      'message' =>$message, 
      'data'=> $userdata 
      ) 
     ); die; 

    } 
} 
+0

[利用方法 - post-for-laravel-post-request](http://stackoverflow.com/questions/35137768/how-to-use-postman-for-laravel-post-request) –

答えて

2

Laravel 5.4の場合、CSRF保護はAPIのルートにデフォルトで無効になっています。 (すべてのAPIのルートはそのための内部ルーティング/ api.phpする必要があります)

しかし、あなたは、このような機能を持っていないLaravel 5.2を使用しているとして、あなたはこのようにそれを行うことができます。

プレフィックスは、あなたのWebサービスのすべて

route.php:次いで

Route::post('api/test1', function() { 
    return 'test1'; 
}); 

Route::post('api/test2', function() { 
    return 'test2'; 
}); 

及びAPP/HTTP /ミドルウェア/ VerifyCsrfToken.phpでこれを追加する:

protected $except = [ 
     'api/*' 
    ]; 
'API' のような識別子を持つルート
関連する問題