我的堆栈:MongoDB - >具有环回的API - > Nodejs - >和前端的Reactjs(不同服务器上的每个部分)
如果我在节点服务器中有逻辑,并且我在另一个节点服务器中有API。我必须在两者中验证我的用户:
我必须为每个服务器制作令牌,否则可以在两者之间共享?
我理解JWT在服务器中创建一个令牌,只有这个服务器可以解密它。
答案 0 :(得分:0)
使用相同的签名密钥时,您可以使用相同的令牌。
如果使用对称密钥(HMAC),则必须在两台服务器之间共享密钥,因为该密钥用于签署和验证令牌
如果您使用非对称密钥(RSA),则会使用私钥对令牌进行签名,并向公众进行验证。然后,您可以在一台服务器中发出令牌,并将公钥分发给另一台服务器,甚至客户端。然后减少用于共享密钥的安全性问题。这种情况的缺点可能是令牌在一台服务器中发布。如果您需要在两者中发布,则可能对称密钥更合适