【发布时间】:2016-11-30 00:13:55
【问题描述】:
我在 JWT(JSON Web Token)方案的帮助下实现了一个登录系统。基本上,在用户登录/登录后,服务器对 JWT 进行签名并将其传递给客户端。
然后客户端在每个请求中返回令牌,服务器在发回响应之前验证令牌。
这几乎是您所期望的,但我在流程的逻辑上遇到了一些问题。从我读过的所有数学文章中,似乎 RSA 签名使用非对称密钥进行签名。顾名思义,公钥向客户端公开,而私钥保存在服务器上,因此使用发送给客户端的公钥对 JWT 进行签名并在服务器端使用验证它是有意义的私钥。
但是,在我看到的每个示例和库中,情况似乎是相反的。知道为什么会这样吗?如果 JWT 使用私钥签名并使用公钥进行验证,那还有什么意义?
【问题讨论】:
标签: rsa jwt digital-signature