2016-08-12 9 views
1

sailsJSアプリケーションをView Layerから完全に分離することができるかどうか、またどのようにするかについては興味があります。私の場合は、テンプレート、ビュー、クライアントサイドJS、およびアセットを、RESTful APIとしての意味と結びつけて管理するのではありません。私は、要求によってお互いに相互作用する他の作品がどのように関係しているかを知る必要のない2つの別々のリポジトリを配備しようとします。SailsJS View Layer Separation with CSRF

私はsails new <apiName> --no-frontendオプションについて知っていますが、ejsの方法では<input type='hidden' name='_csrf' value='<%= _csrf %>'>の方法でCSRFトークンを使用しないフォームにCSRFトークンを組み込むこともできます。

私のケースでは、sailsJSサーバーのcsrfトークンの付与と検証を厳密に扱うエンドポイントを公開することは可能でしょうか?

答えて

2

フロントエンドに関係するすべてのものを取り除くことができます(--no-frontendが良いスタートです)。フロントエンドを生成しない場合はcsrfフックとGET /csrfTokenが残っていますが、CSRFフックが有効な場合はPOST,PUTなどとセイルには_csrfパラメータが必要です。

あなたのセイルアプリ内では、ルートを処理するたびにres.view()またはres.render()を返す必要はありません。 res.json()またはそのilkの何かを返すことができます。

たとえば、を使用して、セールとは別にアセットを管理します。帆は静的なファイルやレンダリングではなく、APIリクエストのみを処理します。

+0

ありがとう、私はちょうどcsrfトークンのルートがあることを知らなかった。 –