【发布时间】:2021-11-06 23:48:34
【问题描述】:
这里是 JWT 新手,如果这是一个愚蠢的问题,很抱歉:是否可以使用非对称密钥/证书/等对 JWT 进行签名?
如果我对 JWT 的理解正确,其想法是客户端可以使用它们向服务器进行身份验证,因为它们包含服务器可以检查的签名。
我在网上看到的所有示例都依赖相同的密钥来创建和验证 JWT。
现在,如果我想为不同的服务器发布 JWT 并且这样做,我必须给他们我的密钥(可能每个服务器一个),他们就可以使用它来发布 JWT。我可能不想允许这样做。此外,每台服务器只能验证专门为其创建的 JWT 或具有相同密钥的 JWT。
另一方面,我确实知道可以使用异步算法对事物进行签名,这样您就可以使用公钥验证签名,但只能使用私钥进行签名。
这将解决问题,因为每个想要接受我的服务器签名的 JWT 的服务器只需要下载我的公钥。 JWT中是否存在这种东西?
【问题讨论】:
-
是的,当然,你可以用非对称密钥签名,也许你没有找到答案,因为用错了,它是非对称什么你需要搜索,你应该能够找到很多教程,还有 answers on SO 解释。
标签: jwt authorization public-key-encryption