私は帆を使ってアプリケーションを開発中です。ウェブとモバイル。セールアプリケーションでCSRF保護とJWTを同時に使用する方法はありますか?
私はアプリケーションがウェブ上で訪問しているときに提供するCSRF保護を使用したいと思います。リクエストがモバイルアプリから送信された場合。ペイロードでjwtを送信します。
帆の文書でプロパティーが見つかりましたcsrf.routesDisabledいくつかのルートでCSRFを無効にしました。しかし、それは私が望むものではありません。私は、たとえば、パラメータjwtが投稿リクエストで送信されているかどうかを確認する方法を見つけようとしています。パラメータが送信された場合は、それを確認して検証します。それ以外の場合は、フォームの_csrf値を確認します。これは可能ですか?
またはcsrf protecctionは、情報がサーバに送信される前に機能しますか。
私のより良い選択は、Webアプリケーションでもjwtを使用することですか?あなたはSailsJSでWebアプリを構築してきましたし、外部アプリケーションのためのRESTエンドポイントとしてコントローラのアクションを再利用しようとしているよう
この問題を解決するための任意の他の良いアイデアは大歓迎です
おかげ
私の避けようとしているのはあなたの応答@ScottFyfeに感謝します。 restPrefix –
私の帆アプリで** restPrefix **を使用して、青写真とウェブビューを分離しました。 私が必要とする唯一のセキュリティは、投稿要求です。基本的に他のすべては絶対に公開されています。 たとえば、** update **イベントなどのすべてのコードを関数に囲んでいると思います。コントローラ内のそれぞれのイベントでモバイルアプリに使用する別のルートを作成します。リクエストが来るフォームに応じて、それぞれのイベントでチェックして検証します。ウェブアプリケーションでは** _ csrf **と** req.session.User.id **、モバイルではトークン を呼び出します。更新を行うには –
まだハックのような回避策のように聞こえる。フロントエンドをREST APIのデータアクセスとは別のエンティティにすると、維持と拡張が容易になります。 –