首页 > 解决方案 > ExpressJS - 如何使用 Auth RestAPI 收到的 JWT

问题描述

我已经构建了一个用户 REST-API(使用 ExpressJS),它对属于特定用户的用户(帐户)数据和任务执行 CRUD 操作。如果用户成功通过身份验证,API 将返回 JWT。

我现在正在构建一个简单的前端 Web 应用程序(我只知道 Jquery)来测试这些 CRUD 功能。我正在使用 $.ajax 发送发布请求(包含用户名和密码)并接收 JWT。

问题是我现在完全不知道下一步该为客户端应用程序做什么。

我的问题是:

我真的很想知道现在前端和后端 API 是如何相互交流的。

标签: jquerynode.jsjwtbackendrest

解决方案


很高兴知道有人坚持这一点,几年前我也有同样的疑问。

直接找到答案 因此,由于您的 API 能够返回 JWT 令牌,因此需要考虑的事情很少。由于您使用的是 Jquery,所以我假设您的前端技术无法立即保护您免受简单的 XSS 攻击,因此将您的令牌存储在本地存储和 JS 可访问的任何其他存储中并不是一个好主意在前端。所以我们的首选将是仅限 HTTP 的 cookie。

如果你使用的是 React 之类的东西,那么你也可以使用 Localstorage。

现在,我们如何在每个请求中获取您的 JWT 以在后端验证请求?如果您使用仅 HTTP cookie 或任何 cookie,您将可以在每个请求中访问 c​​ookie,答案非常简单。

旁注:您需要为此启用某些标志。

在另一种情况下,您可以在正文中发送带有您的请求的 JWT(确保您使用的是 HTTPS :D )。

然后在后端,您可以创建一个中间件来使用您刚刚收到的 JWT 验证请求。

让我知道是否还有什么我可以为您澄清的。


推荐阅读