Заголовок X-XSRF-TOKEN с аксио - PullRequest
0 голосов
/ 18 октября 2018

Должен ли я установить что-либо для отправки заголовка X-XSRF-TOKEN, если я установил XSRF-TOKEN сторону сервера cookie?

https://github.com/axios/axios/blob/master/lib/defaults.js#L74 https://github.com/axios/axios/blob/master/dist/axios.js#L1072

Это звучит так, как будто я нет, но я не вижу, чтобы кто-то вышел.

Я добавлю, чтоЯ установил для withCredentials значение true, поэтому я выполняю первую проверку в ИЛИ:

var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?
            cookies.read(config.xsrfCookieName) :
            undefined;

          if (xsrfValue) {
            requestHeaders[config.xsrfHeaderName] = xsrfValue;
}

, поэтому, если config.xsrfCookieName является значением по умолчанию .....

Обновление:

Итак, мой OPTIONS предпечатный полет CORS работает, как и POST сейчас, но X-XSRF-TOKEN не отправляется.

  methods: {
    onSubmit(e) {
      this.axios
        .post(
          e.target.action,
          { data: this.form },
          {
            withCredentials: true,
            xsrfCookieName: "XSRF-TOKEN",
            xsrfHeaderName: "X-XSRF-TOKEN"
          }
        )
        .then(res => {
          console.log(res)
        })
        .catch(err => {
          this.errors.push(err)
        })
    }
  }

Спасибо.

1 Ответ

0 голосов
/ 10 января 2019

У меня была та же проблема, и у меня был флажок "безопасный" в куки, который можно увидеть на вкладке куки в запросе, но он не отображается в куки во вкладке "приложение":

XSRF-TOKEN secure

В моем случае мне пришлось попросить серверную часть установить его.Это происходит потому, что в качестве безопасного вы не можете получить к нему доступ через javascript.

document.cookie // is empty
...