package org.zhios.website.admin.model;

import java.util.Date;
import java.util.UUID;

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.Claims;


public class JwtUtil {
    private static final String key=UUID.randomUUID().toString().replace("-","");
    private static final long expiration=3600000;
 
    public static String createToken(String username) {
        return Jwts.builder()
                .setSubject(username)
                .setIssuedAt(new Date())
                .setExpiration(new Date(System.currentTimeMillis()+expiration))
                .signWith(SignatureAlgorithm.HS512, key)
                .compact();
    }
    
    public static String getUser(String token) {
        try{
            Claims claims=Jwts.parser()
                    .setSigningKey(key)
                    .parseClaimsJws(token)
                    .getBody();
            return claims.getSubject();
        }catch (Exception e){
            return null;
        }
    }
}