我正在为个人项目构建电子商务网站。它使用 React 作为前端,使用在 django 上运行的 REST API 作为后端。我希望用户无需帐户即可将商品添加到购物车并下订单。
对于 guest 用户,使用 session /cookie 来存储信息非常好,但是对于登录用户,我想使用数据库来存储购物车中的商品。这将需要创建一个用户并给他们一个授权 token ,以便他们可以执行必要的操作。
那么我应该使用 session /cookie 身份验证还是有更好的方法来使用 JWT 实现我想要的?
最佳答案
这两种方法都可以很好地工作。但是,我目前正在做类似的事情,我个人会推荐更简单的选项,即经典 session 方法。 JWT token 可能更难维护,如果操作不当,有时还会不安全。此外,JWT token 不会在登录之间持续存在。
在这两种方式中,我不明白为什么创建和维护购物车会更好,除非 session 系统实际上可以在 session 本身中存储完整的购物车。然后,您可以在 API 级别实现 session Controller 。
例如:GET "https://{host}/api/cart"
返回 session 购物车中的项目。
# Django session
request.session['cart_id'] = cartId
# JWT Tokens
jwt.encode({‘cart_id’: cartId} ...
请注意.. 如果您在本地主机上工作以进行 react 并在远程服务器上工作以供您的 API 使用,则设置 session 可能会更加困难。 (cookie 通常按域设置)。
关于django - 我应该为我的电子商务网站使用 JWT 还是 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58946089/