1
|
package eu.dnetlib.openaire.user.security;
|
2
|
|
3
|
import eu.dnetlib.openaire.user.MigrationUser;
|
4
|
import io.jsonwebtoken.Claims;
|
5
|
import io.jsonwebtoken.Jwts;
|
6
|
import io.jsonwebtoken.SignatureAlgorithm;
|
7
|
|
8
|
import java.util.Date;
|
9
|
|
10
|
/**
|
11
|
* Created by kiatrop on 03/04/17.
|
12
|
*/
|
13
|
public class JWTGenerator {
|
14
|
|
15
|
public static String generateToken(MigrationUser u, String secret) {
|
16
|
Claims claims = Jwts.claims().setSubject(u.getUsername());
|
17
|
claims.put("fullname", u.getFullname() + "");
|
18
|
claims.put("userId", u.getId() + "");
|
19
|
claims.put("email", u.getEmail() + "");
|
20
|
claims.put("role", u.getRoleId());
|
21
|
|
22
|
//expiration
|
23
|
long nowMillis = System.currentTimeMillis();
|
24
|
Date now = new Date(nowMillis);
|
25
|
long ttlMillis = 30;
|
26
|
long expMillis = nowMillis + ttlMillis;
|
27
|
Date exp = new Date(expMillis);
|
28
|
|
29
|
return Jwts.builder()
|
30
|
.setClaims(claims)
|
31
|
.setExpiration(exp)
|
32
|
.signWith(SignatureAlgorithm.HS512, secret)
|
33
|
.compact();
|
34
|
}
|
35
|
}
|