我有一个 React 应用程序,其后端 API 是用 Express 编写的(所有/api 调用都在那里进行代理)。
成功进行用户身份验证后,我将生成一个 session ID 并将其存储在客户端的某个位置,以便稍后可以授权对 API 的请求。
在 Express 端实现此架构的最佳实践是什么?我是否应该只发送 session ID 以及每个 API 请求的正文,然后在所有后端调用之前使用授权机制?或者有一些更好/更简单的方法来做到这一点?
最佳答案
我的直觉是采取两个步骤。
在客户端上,设置 HTTP 客户端以将 sessionID 作为
header
传递。您可以使用 HTTP 客户端(例如axios
)或 ES6 中的fetch
设置自定义header
,并应用这些header
> 发送到 Express API 的每个请求。在您的应用上设置一个中间件函数,该函数将在服务器收到的每个请求上运行。 Express 有一个简单的方法,使用
app.all("*", yourAuthFunction)
来完成此操作。您还可以查看app.use
将中间件应用于更具体的路由。这将确保您的 sessionID 在发送任何数据以响应客户端之前在服务器上得到验证。当然,您必须编写 auth 函数才能按照您希望的方式工作。
祝你好运!
关于javascript - 使用 Express.js 后端 API 处理 React 中的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47956972/