V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mynameisny  ›  全部回复第 3 页 / 共 6 页
回复总数  109
1  2  3  4  5  6  
@future0906 您提到的“ stateless 是对 HTTP 层来说的”这点理解了,但是不能将这个 Token 放在 session 中实现 fail-over 这块还是不怎么明白,烦请再帮忙讲一下。

可不可以只在用户的 SESSION 作用域中保存一份唯一的 Token ,再次请求 Token 的时候就生成并覆盖 SESSION 中这个 Token 。同时保证每次拦截认证都是从 SESSION 获取这个唯一 Token ?
@Koyoter 可能是误解了,并不是讨论 Token 绑定用户的问题,同一用户同一 IP 同一 MAC ,在同一时刻生成了多个有效 Token 。
@caixiexin mcfog 11 楼和 xxxyyy 14 楼的回复是很精僻的, Token 本身是不需要状态的,但是限定了它在一段时间只有唯一实例,就是产生状态了,一旦产生了状态了就成了“ SESSION ”
@xxxyyy 是是是,感谢众高手们的指点,是我误用 JWT 了,我确实是需要带“状态”的 Token 。
@mcfog 受教受教!! JWT 和 Session 关于状态果真是矛盾的。其实我现在的方案中是在借用了 JWT 生成 Token 的功能而已,完全没有使用它无状态的特性。我只是享受到了一个确定草案的开源实现而已……如您所言,我完成可以自己实现一个约定,能解密调用者传递来的 Token ,解析出我想要信息,并保证 Token 唯一就可以了。
@Herobs 对对,我就是看到了很多关于 JWT stateless 方面的介绍才来求助的。如果不考虑泄漏的情况,只是不希望用户有多个 Token 同时可用,是不是我现在的这个问题就限制在必须是有一个“中心”了呢?
@xxxyyy 是希望保证让一个用户在一段时间内只有一个 Token 是有效的。
@xxxyyy 感谢回复,我现在就是这么做的呢,依赖于 Redis 的 TTL ,过期了就会把那个 Token 自动的删除,如果 Token 不存在了就不准调用。关键的问题还是这个 Token 要保存的问题,是不是我的这个情景里是必须要在服务器保持一份 Token 呢?
@ty89 纠结之处在于好多资料上说, JWT 生成 Token 是不应该放在服务器端保存起来的,但是不记录它的状态怎么能知道它只有一份呢?
@Clarencep 哦哦哦。了解了,这种属于应该操作失误吧。不知纠结一是不是可以给些指点?想保证唯一 Token ,应该怎样搞……
2016-11-15 14:34:28 +08:00
回复了 blakefan 创建的主题 程序员 请教一个权限系统设计的问题?
@zhuf RESTFul 有一个问题想请教, RESTFul 风格的 API 通常要设计成无状态的,那么 JWT 是否需要持久化在服务器中(比如 Redis )。
既然是无状态的,那么 Server 端就不应该将 Token 保存到 Session 或数据库中,那么如何能保证一个用户在一段时间只能有一个 Token 是可用的?
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4171 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 64ms · UTC 04:10 · PVG 12:10 · LAX 21:10 · JFK 00:10
Developed with CodeLauncher
♥ Do have faith in what you're doing.