我正在尝试使用Spring设置REST-API。为了保护它,我目前正在使用带有JWT令牌的Spring Security oAuth2。我的REST-API应用程序将是AuthorizationServer和ResourceServer。
我的问题是,一旦生成令牌,在重新启动我的REST-API应用程序后就不再有效了。当我运行它的2个实例时也一样。在其中一个上生成并生效的令牌在另一个上无效。
我发现JwtAccessTokenConverter的实现在启动时随机生成了signedKey / verifierKey。这当然解释了我的观察,但让我有一个问题:这怎么可能是无国籍的?
如果我的想法错了,请纠正我,或者我错过了一些重要的细节。但对我来说,这种行为似乎打败了JWT的目的。
答案 0 :(得分:0)
到目前为止,感谢你的答案,但我自己也明白了。
随机生成的签名/验证者密钥只是一个可能不应该使用的默认密钥。不幸的是,这并没有真正记录。 我现在在启动时手动设置这些键。结果是,我的令牌在我的所有REST-API实例上都有效,并且在重新启动后仍然有效。
我猜这个随机值更像是一个“安全默认值”,这样人们就不会意外地使用相同的已知密钥。