我使用Express应用程序作为后端。
我设置了cors中间件:
app.use(cors({
credentials: true,
origin: 'http://localhost:3000' //client host
}));
以下是我设置的cookie选项:
res.cookie(this.refreshCookieName, refreshToken, {
httpOnly: false,
path: `/api`,
sameSite: 'lax',
maxAge: accessCookieMaxAge,
secure: false
});
在前端应用程序上,我通过axios发出请求。是的,我为示例配置设置了withCredentials:
export const apiInstance = axios.create({
withCredentials: true,
baseURL: 'http://localhost:5000/api/' //backend host
});
我在ubuntu操作系统上使用chrome浏览器。
在DevTools的“网络”选项卡上,当我点击请求并打开请求的“Cookie”选项卡时,我可以在那里看到Cookie #screenshot1。
但是在DevTools #screenshot2的“应用程序”选项卡上的“Cookie”部分看不到Cookie。这很令人沮丧,因为我希望能够删除Cookie。
是否可以在“应用程序”选项卡上显示它们?如果可以,如何操作?
顺便说一句,当我试图使用firefox时,cookie是可见的。
1条答案
按热度按时间ddrv8njm1#
不知道为什么chrome DevTools不显示路径属性值未包含在当前浏览器URL中的cookie。也许这种chrome行为的目的是让开发人员看到哪些cookie将在当前浏览器URL上发送和接收。我不知道...但是当我将cookie从path ='/API'(我的前端应用程序上没有url /API页面)到后端的path ='/',chrome开始在DevTools的“应用程序”选项卡中显示cookie。