フロントエンドのWebアクセス可能なコンポーネントとデスクトップクライアントからアクセスできるAPIの両方を備えたDjangoWebアプリがあります。ただし、新しいCSRFミドルウェアコンポーネントを使用すると、POSTされたデスクトップクライアントからのAPIリクエストは403を取得します。
なぜこれが起こっているのか理解していますが、セキュリティを損なうことなくこれを修正する適切な方法は何ですか?どういうわけか、それがAPIリクエストであり、DjangoがCSRFをチェックするべきではないこと、またはそれが悪い戦略であることをHTTPヘッダーで通知できますか?
編集 -
私が現在使用している方法は、デスクトップクライアントがヘッダーX-Requested-With:XMLHttpRequestを設定することです。これはちょっとハッキーですが、これがどのようにうまく処理されるかはわかりません。