csrf_tokenを閉じる
外部からPOSTされる時、
csrf_tokenのチェックを無効にする必要がある。
app/Http/Middleware/VerifyCsrfToken.php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier
{
/**
* CSRFバリデーションから除外するURI
*
* @var array
*/
protected $except = [
'stripe/*',
//URI追加
];
}
テストコードの時
app/Http/Kernel.php
//コメントする
'App\Http\Middleware\VerifyCsrfToken',
Csrfを使うコントローラでのみONにする、
コントローラのコンストラクタに入れたら、コントローラのCSRFがONになる。
app/Http/Controller/xxxxController.php
$this->middleware('App\Http\Middleware\VerifyCsrfToken');
そしてValdationを書く、返す値を\Response::json()で処理
public function create(Request $request)
{
//全てのrequestデータを取る
$rules = [
'e-maill'=>'required',
...
];
$messages = [
'email.required'=>'email is must.',
...
];
$validation = Validator::make($request,$rules,$messages);
$response = array();
if($validation->fails()){
$response['status'] = "NG";
$response['message'] = "validation error.";
return \Response::json($response);
}else{
//
//DB書き込みなどの処理
$response['status'] = "OK";
$response['message'] = "no problem.";
return \Response::json($response);
}
}