基于令牌与会话的认证区别及我的认证方式归类咨询
你的认证机制完全属于基于令牌的认证(Token-based Authentication)
没错,你的实现就是标准的Token-based认证模式,核心区别看这两点就能分清:
- Session认证:服务器端需要存储用户的会话数据,客户端只存一个session ID,每次请求靠这个ID去服务器查对应的用户信息。
- Token认证:客户端存储完整的令牌(Token),这个令牌本身包含了可验证用户身份的信息(或者能通过解密得到),服务器不需要本地存储用户会话数据——每次请求拿到Token后,直接验证合法性,然后提取用户信息存入
req.user,这正是你现在的做法。
你的流程完全贴合Token认证的典型步骤:
- 用户注册/登录时,服务器生成Token并返回给客户端
- 客户端存储Token(比如存在localStorage、cookie里)
- 每次调用接口时,客户端携带Token发送请求
- 服务器通过中间件检查Token是否存在、验证有效性,通过后把用户信息存入
req.user供后续业务使用
作为新手能自己搞定这套逻辑已经很扎实了,不用觉得问题基础~
内容的提问来源于stack exchange,提问作者user13387446
相关产品推荐
相关产品推荐

