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

ali*_*hie 8 http-headers vue.js axios

我正在使用 VueJS 和 Axios 发送如下请求:

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

作为回报,服务器向我发送以下响应:

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
Run Code Online (Sandbox Code Playgroud)

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

我需要在这个 cookie 中使用 csrf-token,但我不知道如何做到这一点?

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

小智 -3

使用它可以获得该标头的整个字符串:

const cookieHeaders = res.headers['Set-Cookie'];
Run Code Online (Sandbox Code Playgroud)

之后,您可以将字符串拆分为数组

cookieHeaders.split('; ');
Run Code Online (Sandbox Code Playgroud)

在数组中,您可以获取您需要的特定数组。