CSRFから保護されるASP.NET Web APIを使用してAPIを作成する方法を理解していますが、Web以外の環境(ネイティブモバイルアプリケーションなど)からはアクセスできます。ValidateAntiForgeryTokenは、Web APIまたはネイティブアプリを介してアクセスできるWeb APIとどのように適合していますか?
私の最初の考えは、非ウェブ環境では、偽造トークンの検証に成功することができないということです。これは、フォームが投稿されていないためです。これは本当ですか?検証作業を行う方法はありますか?
有効性を確認する方法がない場合、私の2番目の考えは、Web呼び出しのために偽造トークンを検証するAPIを提供することですが、非Web呼び出しは検証しません。しかし、攻撃者のように、この「非ウェブ」APIをCRSF攻撃に簡単に使用できるように思えるでしょうか?
Web以外のAPIで非Web認証メカニズム(OAuth?)のみをサポートする必要があるため、リクエストをブラウザ経由で再生できないという答えですか?それとも簡単な方法がありますか?
これが唯一の方法であれば、すべての安全でない認証メカニズムを簡単に無効にする方法はありますか?これらのシナリオをサポートするためにASP.NET Web APIに多少シンプルな/幸せなパスがあるべきではありませんか?
私が知っている限り、 "X-Requested-With"ヘッダーは要求にnativly入れられません.jqueryのようなフレームワークによってのみ – danatcofo