2016-10-11 8 views
1

Laravel 5.3 APIでは、すべてがOAuth2とJWTで処理されるため、CSRFトークンの必要性を取り除きたいと考えています。サブドメインのCSRFチェックを中止する

現在、APIは、サブドメインで動作:api.example.com

私はこれを試してみましたが、それはまだCSRFトークンを要求します。

class VerifyCsrfToken extends BaseVerifier 
{ 
    protected $except = [ 
     'api.*' 
    ]; 
} 

私も私はときCSRF保護を無効にできるようにしたいのですがapp.example.devにあるメインアプリでランダムルートテストを行いますが、'app.*'から$exceptを追加することもできません。

これは可能ですか?

答えて

1

あなたはどこ-で、その中にサブドメインをサポートする、BaseVerifierクラスでshouldPassThroughメソッドを上書きすることができます$exceptapi.yourdomain.comなど

/** 
* Determine if the request has a URI that should pass through CSRF verification. 
* 
* @param \Illuminate\Http\Request $request 
* @return bool 
*/ 
protected function shouldPassThrough($request) 
{ 
    foreach ($this->except as $except) { 
     if (Str::is($except, $request->url())) { 
      // break out of CSRF check 
      return true; 
     } 
    } 

    return false; 
} 
+0

'false'を部分は、foreachループの外に戻らないでしょうか? – eComEvo

+0

良い点@eComEvo - 回答が更新されました! – Ryan

関連する問題