· 9 years ago · Nov 17, 2016, 12:56 PM
1public String createToken(Authentication authentication, Boolean rememberMe) {
2 String authorities = authentication.getAuthorities().stream()
3 .map(authority -> authority.getAuthority())
4 .collect(Collectors.joining(","));
5
6 long now = (new Date()).getTime();
7 final Date validity;
8 if (rememberMe) {
9 validity = new Date(now + this.tokenValidityInSecondsForRememberMe);
10 } else {
11 validity = new Date(now + this.tokenValidityInSeconds);
12 }
13
14 // Add further infos to token
15 Map<String, Object> keys = new HashMap<>();
16 keys.put("test", "abced");
17
18 return Jwts.builder()
19 .setHeader(keys)
20 .setSubject(authentication.getName())
21 .claim(AUTHORITIES_KEY, authorities)
22 .signWith(SignatureAlgorithm.HS512, secretKey)
23 .setExpiration(validity)
24 .compact();
25}