zuixinwenyue's recent timeline updates
zuixinwenyue

zuixinwenyue

V2EX member #609152, joined on 2023-01-04 18:23:13 +08:00
zuixinwenyue's recent replies
Dec 30, 2025
Replied to a topic by yiranw09 NAS 我承认我是 SB,淦
收到
节哀
Dec 26, 2025
Replied to a topic by saltedFishX 生活 跟女友吵架怎么解决
把工资要回来!
@edcopclub 两个 token 要泄露都会泄露
@fun201108 都是 httponly 有什么问题?
Dec 18, 2025
Replied to a topic by Jacefan Android 年底想给妈妈换个手机, 2k 上下选什么?
@anchors 你认真的吗?
Dec 18, 2025
Replied to a topic by Jacefan Android 年底想给妈妈换个手机, 2k 上下选什么?
蹲一个答案 我也打算给父母换手机;
@SethShi oauth2.0 是提供授权码,最后用授权码换回来的就是双 token 。
网上说什么的都有 有说是为了让用户无感续签,之前做的项目是有状态的 每次用户请求进来都会给 token 续期。我之前面试也被问过这个问题 我回答的就是用户带 token 进来验证成功就续期一下 现在想起来问的应该是双 token 。但是我理解使用双 token 不是为了续签,更是为了追求性能+用户可控性一个折中的方案;
@zuixinwenyue
先说一些传统的 token 模式有状态和无状态
1.有状态:cookie 或者 uuid 生成一个 token 放请求头里,这些都属于有状态。服务侧缓存 token 信息
2.无状态: jwt 本身就带了 token 的信息&用户信息;

分析一下痛点,可能举例不完善:

有状态: 每次请求进来需要查询缓存啊 or 数据库,影响性能
可以做判断 token 是否存在啊 用户是否登录过期啊 用户有没有被禁用 也可以做到用户信息发生修改 踢用户下线之类的操作 只允许一端登录啊。可控性非常大;

无状态: 无状态的话就不需要查询数据库了,从性能来讲肯定是比有状态要好的,服务侧拿到只需要验签就可以。
缺点也很明显,上面说到有状态能做的都不行

双 token 我自己感觉是折中了一下 在需要性能+用户可控方面折中,一般来讲 accessToken 是无状态的用于快速验证 过期时间较短,refreshToken 是有状态 用于判断用户信息之类的操作 过期时间较长。这样就可以在性能和用户可控方面折中啦。
以上是我的浅见
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2781 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 466ea39e · 18ms · UTC 05:47 · PVG 13:47 · LAX 22:47 · JFK 01:47
♥ Do have faith in what you're doing.