· 4 years ago · Jul 20, 2021, 04:04 PM
1@RestController
2public class UserController {
3
4 @PostMapping("user")
5 public User login(@RequestParam("user") String username, @RequestParam("password") String pwd) {
6
7 String token = getJWTToken(username);
8 User user = new User();
9 user.setUser(username);
10 user.setToken(token);
11 return user;
12
13 }
14
15 private String getJWTToken(String username) {
16 String secretKey = "mySecretKey";
17 List<GrantedAuthority> grantedAuthorities = AuthorityUtils
18 .commaSeparatedStringToAuthorityList("ROLE_USER");
19
20 String token = Jwts
21 .builder()
22 .setId("softtekJWT")
23 .setSubject(username)
24 .claim("authorities",
25 grantedAuthorities.stream()
26 .map(GrantedAuthority::getAuthority)
27 .collect(Collectors.toList()))
28 .setIssuedAt(new Date(System.currentTimeMillis()))
29 .setExpiration(new Date(System.currentTimeMillis() + 600000))
30 .signWith(SignatureAlgorithm.HS512,
31 secretKey.getBytes()).compact();
32
33 return "Bearer " + token;
34 }
35}