vue.js - 从 axios 中的 response.headers 访问 Set-Cookie

我正在使用 VueJS 和 Axios 发送这样的请求:

 axiosAPI.get('/login/flows', {params: {id: 'string'}})
            .then(res => {
                console.log('cookie', res.headers)
             }

作为返回,服务器向我发送此响应:

Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Content-Type
Cache-Control: private, no-cache, no-store, must-revalidate
Content-Length: 646
Content-Type: application/json; charset=utf-8
Date: Thu,xxxx 13:56:21 GMT
Set-Cookie: csrf_token=Lxv3zynm1Fua0hU0/W1+R2w=; Path=/.ory/kratos/public/; Domain=x.y ; Max-Age=31536000; HttpOnly; SameSite=Lax
Vary: Origin
Vary: Cookie

如您所见,服务器在 Set-Cookies 中发送了一个 csrf-token。但是当我尝试打印出标题时,我无法获取和存储 csrf-token。此外,浏览器根本不会在存储部分存储 token 。

我需要在这个 cookie 中使用 csrf-token,但我不知道该怎么做?

注意:我无权访问后端代码。

最佳答案

也许您可以使用 axios-cookiejar-support。

https://www.npmjs.com/package/axios-cookiejar-support

一篇介绍如何使用它的媒体文章。

https://medium.com/@adityasrivast/handling-cookies-with-axios-872790241a9b

示例(从登录页面获取 cookie):

const axios = require('axios');
const wrapper = require('axios-cookiejar-support').wrapper;
const CookieJar = require('tough-cookie').CookieJar;

const jar = new CookieJar();
const client = wrapper(axios.create({ jar }));

const url = '<your url>';

const params = new URLSearchParams();
params.append('username', '<username>');
params.append('password', '<password>');
client.post(`${url}/Login`, params, {
  headers: {
    'Accept': '*/*'
  }
})
.then(function (response) {
  console.log(response);
})
.catch(function (error) {
  console.log(error);
});

关于vue.js - 从 axios 中的 response.headers 访问 Set-Cookie 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70972629/

相关文章:

c# - Asp.net 长时间运行的后台任务。最佳实践?

postgresql - 了解全文搜索查询中子句顺序的影响

php - 是什么导致我的 Laravel 8 应用程序出现此查询生成器错误?

css - 使用 CSS 模块时从父项覆盖样式的 'correct' 方法是什么?

react-native - appcenter codepush 更新 Android 但不更新

mysql - Prisma - 唯一约束失败,而架构中没有唯一字段

python - 在不保留旧父类的情况下用另一个类替换父类

SQL 查询 - 当我们在 where 子句中使用主键时更新/删除语句的性能

firebase - 为什么 Firebase 动态链接总是空的?

javascript - 根据 HTML 规范对模块脚本执行严格的 MIME 类型检查