Axiosアップデートでaxioserror: request failed with status code 419
- 2023.12.05
- Next.js
- axios, Next.js, token, withCredentials, withXSRFToken, XSRF
はじめに
LaravelをAPIにしてフロントをNext.jsで開発しているサービスで、Axiosを1.6.0へアップデートしたところ、419エラーが発生。
axioserror: request failed with status code 419
原因
AxiosでXSRFの脆弱性が発見され、修正された1.6.0バージョンではwithCredentials
オプションでトークンが自動送信されなくなった?
Axios Cross-Site Request Forgery Vulnerability
解決法
- Axiosを1.6.2にアップデートする
withXSRFToken
オプションを有効にする
withXSRFToken
オプションは、withCredentials
オプションの以前の動作(トークンを送信)をするために新しく設定されたオプションで、デフォルトではfalse
例えば以下のように追加する。
import Axios from 'axios' const axios = Axios.create({ baseURL: process.env.NEXT_PUBLIC_BACKEND_URL, headers: { 'X-Requested-With': 'XMLHttpRequest', }, withCredentials: true, withXSRFToken: true, // これを追加 }) export default axios
参考
Release Release v1.6.2 · axios/axios
feat(withXSRFToken): added withXSRFToken option as a workaround to achieve the old withCredentials behavior; #6046
-
前の記事
Laravel Breeze(Next.js Edition)のパスワードリセットでエラー 2022.05.28
-
次の記事
記事がありません
コメントを書く