我在使用nuxt3的/server/api/auth,请求了一个已有的服务端接口
const headers = getRequestHeaders(event)
const res = await $fetch.raw(baseUrl + '/getAuth', {
method: 'POST',
headers: headers as Record<string, string>
});
服务端会在响应头中设置cookie,格式如下
set-cookie:token=something1; Path=/; Expires=Thu, 27 Jul 2023 01:41:39 GMT; HttpOnly; Secure; SameSite=None, test=something2; Path=/
我需要拿到请求头中set-cookie字段,并且返回给客户端,这个官方网站中给出的实例
const cookies = (res.headers.get('set-cookie') || '').split(',');
for (const cookie of cookies) {
appendResponseHeader(event, 'set-cookie', cookie)
}
然而set-cookie字段中 expires包含【,】,解析的时候会截断【token】字段,导致过期时间异常。我查阅了规范,在RFC 6265 第 4.1.1 节,规定了express日期是逗号隔开的