我们一直在SPA中使用refresh_tokens + JWT,Identityserver3 as TokenServer (STS)。我注意到这是不推荐的,我们应该使用reference_token,因为在令牌被破坏的情况下可以撤销。
用户的要求是停留在30天内签字。
引用令牌(方法1)
在这种情况下,STS发出一个长TTL (30天)的reference_token。还建议资源所有者将reference_token缓存一段短时间(10分钟TTL)以提高性能。
如果reference_token被破坏,它可以在STS中被撤销,资源将在10分钟内拒绝请求(取决于缓存)。
这说得通。
刷新令牌+短命JWT (方法2)
在方法2中,STS发出一个短暂的JWT (10分钟TTL)和一个更长的refresh_token (30天)。参考资料检查JWT的有效性(JWT只有效10分钟)。
如果refresh_token被破坏,它可以在STS中被撤销,客户端将无法生成新的JWT。资源将在10分钟内拒绝请求(取决于JWT的创建时间)。
从安全的角度来看,我看不出方法1和方法2之间的区别。
谁能进一步解释一下这一点,并帮助我推理该走哪条路?
发布于 2018-02-19 02:39:04
第二种方法具有额外的攻击向量,即可以从刷新令牌获得的访问令牌。
我看不出为什么在这种情况下不应该使用引用标记。这就是他们的目的。
https://stackoverflow.com/questions/48862983
复制相似问题