CSRFから保護される ASP.NET Web API を使用して API を作成する方法を理解しようとしていますが、Web 以外の環境 (ネイティブ モバイル アプリケーションなど) からもアクセスできます。
私が最初に考えたのは、Web 以外の環境では偽造防止トークンの検証に成功することは決してないということです。フォームが投稿されていないからです。これは本当ですか?検証を機能させる方法はありますか?
検証する方法がない場合、私の 2 番目の考えは、非 Web 呼び出しではなく、Web 呼び出しの偽造防止トークンを検証する API を提供することです。しかし、攻撃者はこの「非 Web」API を CRSF 攻撃に簡単に使用できるようですよね?
非 Web API は非 Web 認証メカニズム (OAuth?) のみをサポートする必要があるため、ブラウザー経由で要求を再生できないという答えですか? それとももっと簡単な方法がありますか?
それが唯一の方法である場合、安全でない認証メカニズムをすべてオフにする簡単な方法はありますか? これらのシナリオをサポートするために、ASP.NET Web API にはややシンプルでハッピーなパスが必要ではないでしょうか?