每次重启Spring Boot应用程序时Jwt令牌都会失效

时间:2019-01-11 08:21:28

标签: spring-boot jwt

我有一个spring boot应用程序,该应用程序在成功登录后会生成jwt令牌。并将令牌返回给用户,但是在每次重新启动应用程序时,令牌都会失效。我有一个存储在属性文件中的密钥,现在可以进行测试。这是我生成它的代码,

public String createToken(String username, String role) {

    Claims claims = Jwts.claims().setSubject(username);
    claims.put("auth", role);
    claims.put("test", "test");

    Date now = new Date();
    Date validity = new Date(now.getTime() + validityInMilliseconds);

    return Jwts.builder()// 
            .setClaims(claims)//
            .setIssuedAt(now)//
            .setExpiration(validity)//
            .signWith(SignatureAlgorithm.HS256, secretKey)//
            .compact(); 
}

即使重新启动应用程序,我也希望令牌得到验证。任何关于我可能做错事的建议都值得赞赏。

我的配置类

public class JwtTokenFilterConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {

    private JwtTokenProvider jwtTokenProvider;

    public JwtTokenFilterConfigurer(JwtTokenProvider jwtTokenProvider) {
        this.jwtTokenProvider = jwtTokenProvider;
    }

    @Override
    public void configure(HttpSecurity http) throws Exception {
        JwtTokenFilter customFilter = new JwtTokenFilter(jwtTokenProvider);
        http.addFilterBefore(customFilter, UsernamePasswordAuthenticationFilter.class);
    }

}

0 个答案:

没有答案