帆0.10.5(私に渡された)を帆0.12.xに移動します。Sails.jsミドルウェアとポリシー
アプリケーションは、モバイル(コードバス/ハイブリッド)クライアントによって使用されるAPIです。
マイグレーションの一環として、適切なセイルの一部を再構築する必要があります。
部分的に関連するミドルウェアについて質問しましたhere。
認証にパスポートを使用しています(古いAuthControllerコードを置き換えます)。今はJWTを実装しています(今はsails-authを使用しないことを選択しています)。
ほとんどの場合、パスポート-JWTを使用して、ポリシーで有効なトークンがあるかどうかを認証/チェックします。以前の実装、(expressJwt)において
ミドルウェアリクエストとreq.user
にユーザを「注入」するために使用されたほとんどすべての私のコントローラの方法で使用され、既存のポリシーの一部に依拠します。
ポリシーベースのアプローチを採用するには、(ほぼ)すべてのルートにisAuthenticated
ポリシーが必要です。つまり、誰かがポリシーを忘れると、コントローラが失敗するか、悪化する可能性があります。認証されていないユーザーがルートにアクセスする可能性があります。
ポリシーがオーバーライドして、同じ脆弱性を引き起こし、isAuthenticated
を呼び出すことなくsomemethod: ['isThis','isThat']
を行うための「カスケード」、誰かのためにその可能性を(誰が「ロープを知っている」はありません)していないので*: 'isAuthenticated'
を使用することも可能ですが。
私はポリシーベースのアプローチを使用するか、認証を行い、要求にユーザーを追加するためにカスタムミドルウェアを追加する必要がありますか(多かれ少なかれpassport.sessionのように思えます)
私もsocket.ioを使用していますが、これはポリシーベースまたはミドルウェアベースのアプローチのために何か変わりますか?