我正在开发一个使用jwt(json web tokens)的项目来检查用户是否通过系统进行了身份验证。
服务完全是无状态的,因此我可以轻松地从一个实例扩展到几个实例。只有一个问题。为了能够在每个实例上验证jwt,我需要在实例之间同步对称密钥。
当然,我可以构建一个使用某种服务发现的系统,并通过使用非对称加密对其进行加密来交换对称密钥。这只是感觉不适合的方法。 我可以在每个实例上设置一个固定的键,但更改键,这实际上使所有以前创建的令牌无效,将是一个痛苦。 我不想设置每个其他实例依赖的主instante。
我的第三个想法是使用非对称方法,让每个实例创建自己的密钥对。通过在令牌中写入颁发者,被调用的实例可以从发出令牌的实例中检索公钥,并以这种方式验证令牌。
这不像我没有任何想法。到目前为止,我真的不喜欢我的想法。
您有解决此类问题的最佳做法吗?