モバイルデバイスとWebブラウザの両方に応答するAPIを作成しました。たとえば、Webの場合は/web/toys
、JSONの場合は/API/toys
となります。私はJWトークンを認証手段として使用しています。
私はフォームをHTML形式で表示しています。バックグラウンドでフォームを表示しています.jQueryのAjaxのメソッドを呼び出して、APIにPOSTします。私はセッションクッキーにaccess_tokensを保持しています。 CSRFの攻撃を防ぐため、Flask-JWT-Extendedを使用しています。
Flask JWT拡張セットCookieエラー
@jwt_required
のビューを装飾し、CSRFがTrueに設定されている場合、クッキーが設定されて転送されている場合でもmissing JWT in headers and cookies
と表示されます。ソースコードを確認したところ、要求ヘッダーにX-CSRF-TOKEN
を設定することが重要であることが判明しました。
しかし、エンドポイントはGET呼び出しとPOST呼び出しの両方に応答するので、jQueryを使用して完全なページをロードせずに、GET呼び出しでヘッダーを設定するにはどうすればよいですか?
基本的には、Webページにフォームを表示したいと思います。ユーザーがsubmitをクリックすると、フォームはjQueryを使用して既存のAPIに転送されます。
物事を処理するより良い方法があれば、私はそれを知りたいです。
ありがとうございます!
あなたのhtmlフォームのコードを投稿することができますか? – lapinkoira