我想用Spring来设置一个REST-API。为了保护它,我目前正在使用Spring Security oAuth2和JWT令牌。我的REST-API应用程序将是AuthorizationServer和ResourceServer。带智威汤逊的Spring Security Oauth2是否真的无状态?
我的问题是现在一旦生成令牌,在我的REST-API应用程序重新启动后无效。当我运行它的2个实例时也是如此。在其中一个生成并且有效的令牌在另一个上无效。
我发现JwtAccessTokenConverter的实现是在启动时随机生成一个signingKey/verifierKey。这当然解释了我的观察,但给我留下了一个问题:这怎么可能是无状态的?
如果我的想法错了,或者我错过了一些重要的细节,请纠正我。但对我来说,这种行为似乎击败了智威汤逊的目的。
您确定您的JwtAccessTokenConverter实现在启动时生成了一个随机密钥吗?你的spring配置中没有私钥/公钥吗? –
谢谢你的回答。是的,我敢肯定。我使用的是Spring实现,你可以在这里找到https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-oauth2/src/main/java/org/springframework/security/ oauth2/provider/token/store/JwtAccessTokenConverter.java您可以在第81和85行看到它是如何生成的。 –