Project

General

Profile

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
}
    (1-1/1)