syon

A fashion developer. Interested in life engineering.

Nuxt.jsのAxiosでwithCredentialsを有効にする

17 Jun 2020 » Nuxt.js, Axios

やりたいこと

Nuxt.js の公式プラグイン @nuxtjs/axios を使ってAPI通信をするとき、 リクエストに Cookie を添えて送信するために withCredentials オプションを有効にしたい。

実現方法

  • [OptionsAxios Module #credentials](https://axios.nuxtjs.org/options.html#credentials)

nuxt.config.js

  modules: [
    '@nuxtjs/axios',
    // ...
  ],
  axios: {
    baseURL: 'https://example.com/api',
    credentials: true
  },
  • baseURLの指定が必要。[^1]
  • withCredentials ではなく credentials

補足: Nuxt.js Axios モジュールの利点

  • Nuxt.js プラグインとして注入されたものを呼び出せばよいので import が不要
  • Vuexストアでも this コンテキストから呼び出せる
  • $getを使えば result.data の中身が得られる
// In store
const ip = await this.$axios.$get('http://icanhazip.com')
  • [UsageAxios Module #Store Actions](https://axios.nuxtjs.org/usage.html#store-actions)

参考情報

[^1]: 厳密には [OptionsAxios Module #baseURL](https://axios.nuxtjs.org/options.html#baseurl) を参照。