【发布时间】:2015-09-20 07:35:09
【问题描述】:
我一直在研究 JWT,我对使用它非常感兴趣。由于数字签名和有效负载内容,我喜欢它不需要对服务器进行状态检查。
我遇到的困难是验证客户。我知道签名允许服务器说“是的,我发出了这个令牌,它是有效的”,但我不完全理解服务器如何验证客户端就是它所说的那个人。
数字签名在服务器端是有意义的,但客户端不能签署任何东西来验证它是谁,因为浏览器不能保密。这是我无法理解的一部分。如果浏览器无法保密,它如何将数据添加到令牌(如随机数,或有关它请求的资源的信息)以包含在签名中,类似于 oAuth 1.0 的工作方式。
不支持吗?还有其他方法可以验证浏览器的身份吗?如果我的客户有泄漏令牌的安全漏洞怎么办?如果客户端没有经过验证,任何人都不能使用这些令牌吗?我不认为“短过期时间”是解决这个问题的好方法。
有人可以帮我了解一下 JWT 的这一部分吗?
【问题讨论】:
标签: javascript json validation authentication jwt