【发布时间】:2019-08-02 18:54:18
【问题描述】:
我正在从事一个 nodejs 项目,并且具有 PHP 背景。前端和后端分别开发以及与 API 调用进行通信给我留下了深刻的印象。
# 问题: 我需要对用户进行身份验证并存储用户的一些数据(服务器中始终需要这些数据),这些用户数据会导致 jwt 有效负载大小和 jwt 令牌增加变大。
所以我使用了 JWT 令牌机制,在成功登录后生成一个令牌并将其发送给客户端,然后客户端将该令牌作为每个 API 调用的标头添加 - 然后在服务器中验证令牌并获取解码的有效负载数据。
这就是过程。但是我有一些在 nodejs 中总是需要的用户数据,所以 JWT 有效负载大小增加,JWT 令牌大小也很大。所以客户端每次总是发送大尺寸的令牌。
我在 php 中使用会话来维护用户数据。 如果我使用会话进行身份验证,它将是有状态的,对吗?
# 疑问:
- 有没有办法在服务器中维护已登录的用户数据?
- 如果我使用大负载,如何减少 JWT 令牌的长度?
更新:
另外,如果我使用会话,它会使用数据库来存储会话,所以需要一个数据库调用。
如果我使用小型有效负载令牌(例如:userid)进行身份验证,并在身份验证后使用 userid 进行数据库调用以获取详细信息,该怎么办?
在这两种方法中都需要数据库调用吗?哪种方法看起来更好?
【问题讨论】: