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

时间:2017-02-03 05:43:18

标签: jwt

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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