【发布时间】:2016-06-09 19:10:41
【问题描述】:
我正在尝试使用 Spring 设置 REST-API。为了保护它,我目前使用带有 JWT 令牌的 Spring Security oAuth2。我的 REST-API 应用程序将 AuthorizationServer 和 ResourceServer 合二为一。
我现在的问题是,一旦生成了令牌,在我的 REST-API 应用程序重新启动后就不再有效。当我运行它的 2 个实例时也是如此。在其中一个上生成并有效的令牌在另一个上无效。
我发现 JwtAccessTokenConverter 的实现是在启动时随机生成一个signingKey/verifierKey。这当然解释了我的观察,但给我留下了一个问题:这怎么可能是无状态的?
如果我的想法有误,或者我错过了一些重要的细节,请纠正我。但现在对我来说,这种行为似乎违背了 JWT 的目的。
【问题讨论】:
-
您确定您的 JwtAccessTokenConverter 实现在启动时会随机生成一个密钥吗?您的 spring 配置中没有私钥/公钥吗?
-
感谢您的回答。是的,我敢肯定。我正在使用你可以在这里找到的 spring 实现github.com/spring-projects/spring-security-oauth/blob/master/… 你可以在第 81 行和第 85 行看到它是如何生成的。
标签: java spring rest spring-security jwt