添加依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
代码结构
JwtConfig.java
@Configuration
public class JwtConfig {
@Value("${jwt.secret}")
private String secret;
@Value("${jwt.expire}")
private long expire;
@Value("${jwt.authorised-urls}")
private String[] authorisedUrls;
@Bean
public JwtHelper jwtHelperBean() {
return new JwtHelper(secret, expire);
}
@Bean
public FilterRegistrationBean basicFilterRegistrationBean() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
JwtFilter filter = new JwtFilter(jwtHelperBean(), authorisedUrls);
registrationBean.setFilter(filter);
List<String> urlPatterns = new ArrayList<>();
urlPatterns.add("/*");
registrationBean.setUrlPatterns(urlPatterns);
return registrationBean;
}
}
ApiController.java
@RestController
@RequestMapping("/api")
public class ApiController {
@RequestMapping("/hello")
public String hello()
{
return "hello";
}
}
AuthorizeController.java
@RestController
@RequestMapping("/auth")
public class AuthorizeController {