首页 > 解决方案 > 用户在发出 http 请求时可以看到 JWT 吗?

问题描述

我正在从 React 向我们的 API 发出 http 请求以进行身份​​验证。我fetch用来提出请求。

我的问题是,用户可以转到 chrome 开发工具中的网络选项卡,找到请求并查看自己的令牌吗?

标签: httprequestjwt

解决方案


这取决于。

通常,用户可以在 Chrome 开发工具的网络面板中看到 HTTP 请求中的所有请求标头。

但是,在 Chrome 67 之后,引入了一个名为“站点隔离”的新功能,并默认启用。因此:

在 Chrome 的 DevTools 中,cookie 和其他请求标头不会显示在跨站点子资源请求的网络面板中。

也就是说,如果 JWT 令牌在子域站点中通过 cookie 传输,并且 JWT-cookie 的域是通配符,则不会在 Network 面板中显示。

这是一个例子。cookietoken的域是.miaotest.com,它用于对站点的 HTTP 请求cshao.miaotest.com。虽然此 cookie 已成功传输到后端,但您不会在开发工具的“请求标头”部分看到它。

“应用”面板中Cookietoken的信息: 在此处输入图像描述

Cookietoken已发送但未显示在网络面板中: 在此处输入图像描述

请注意,可以通过访问 Chrome 中的chrome://flags/#site-isolation-trial-opt-out来禁用“站点隔离”功能。


推荐阅读