使用 jwt 身份验证保护静态文件

asv*_*asv 7 authentication authorization node.js express jwt

我想使用 JWT 身份验证保护静态文件。没有cookie可以实现吗?据我所知,JWT 最常见的场景是在请求正文或标头中传递令牌,进行 AJAX 调用。但是当浏览器请求静态文件(JS、CSS...)时,没有办法给这个请求添加正文。那么唯一的方法是将jwt令牌存储在cookie中?或者还有其他人?

更新

您对 cookie 有特别的反对意见吗?

我正在阅读文章,每个人都在正文或授权标头中传递 jwt 令牌。我使用管理面板开发网站 - SPA 应用程序,所以我想知道,我应该使用 cookie 保护该面板的 html、bundle.js、css 还是只保护 API 并将这些文件公开。只是想知道常见的流程是什么。我想,也许有可能以某种方式使用授权标头(如基本身份验证)但使用 JWT 来保护这些文件

Lam*_*bda 3

大多数情况下,没有必要保护静态资产(例如.html.css.png.js等)文件,保护您的 API 端点就足够了。

但是,如果您使用 AJAX 检索资产(例如 SPA 的 HTML 片段),那么您可以将 JWT 作为标头传递到请求中,并且在后端,您的 Web 服务器可以检查标头并仅在当前情况下才返回 HTML 片段。用户被授权访问它。

您还可以将 JWT 存储在本地存储中,并配置 AJAX 库以从本地存储获取令牌并将其添加到您的请求中,然后再将其发送到服务器。