我想用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行看到它是如何生成的。 –