使用JWT的最佳方法以及如何存储密钥

使用JWT的最佳方法以及如何存储密钥,jwt,Jwt,我正在阅读JWT,它可以用来验证用户的真实性。据我所知,JWT可以在微服务体系结构中使用几种方法。当用户第一次登录时,请求被发送到服务器,服务器生成令牌并发送给用户。现在,无论何时尝试联系各种微服务,都会使用此令牌 现在,micro服务可以通过以下两种方式验证令牌是否有效: 1) 使用共享密钥。 2) 在各种微服务之间使用公钥共享机制,并且只信任来自这些受信任公钥的令牌 我无法找到关于哪种方法是首选方法的信息。如果使用共享密钥,存储密钥的最佳方式是什么?它应该是环境变量的一部分吗?我正在使用To

我正在阅读JWT,它可以用来验证用户的真实性。据我所知,JWT可以在微服务体系结构中使用几种方法。当用户第一次登录时,请求被发送到服务器,服务器生成令牌并发送给用户。现在,无论何时尝试联系各种微服务,都会使用此令牌

现在,micro服务可以通过以下两种方式验证令牌是否有效: 1) 使用共享密钥。 2) 在各种微服务之间使用公钥共享机制,并且只信任来自这些受信任公钥的令牌


我无法找到关于哪种方法是首选方法的信息。如果使用共享密钥,存储密钥的最佳方式是什么?它应该是环境变量的一部分吗?我正在使用Tomcat运行我的Web服务。

由于您有一个身份验证基础结构,由一个集中的服务器颁发令牌,我认为仅出于验证目的共享密钥不是一个好的选择,因为共享会带来安全风险,您可以使用非对称密钥轻松避免

我建议生成一个密钥对(您只需要一个密钥)。确保私钥安全且仅在身份验证服务器中可访问,并发布公钥。使用公钥验证每个服务器中JWT的签名