|
@@ -2,20 +2,26 @@ package com.uas.eis.utils;
|
|
|
|
|
|
import java.security.Key;
|
|
|
import java.util.Date;
|
|
|
+import java.util.UUID;
|
|
|
|
|
|
import javax.crypto.spec.SecretKeySpec;
|
|
|
import javax.xml.bind.DatatypeConverter;
|
|
|
|
|
|
+import com.fasterxml.jackson.databind.deser.impl.ExternalTypeHandler.Builder;
|
|
|
+import com.uas.eis.entity.TokenConfig;
|
|
|
+
|
|
|
import io.jsonwebtoken.Claims;
|
|
|
import io.jsonwebtoken.JwtBuilder;
|
|
|
import io.jsonwebtoken.Jwts;
|
|
|
import io.jsonwebtoken.SignatureAlgorithm;
|
|
|
|
|
|
public class JwtUtil {
|
|
|
- public static String createJWT(String name, String userId, String role, String audience, String issuer,
|
|
|
- long TTLMillis, String base64Security) {
|
|
|
+ private static String base64Security = TokenConfig.SECURITY_KEY;
|
|
|
+
|
|
|
+ public static String createJWT(String username, String password) {
|
|
|
SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
|
|
|
|
|
|
+ UUID userid = UUID.randomUUID();
|
|
|
long nowMillis = System.currentTimeMillis();
|
|
|
Date now = new Date(nowMillis);
|
|
|
|
|
@@ -25,24 +31,23 @@ public class JwtUtil {
|
|
|
|
|
|
|
|
|
JwtBuilder builder = Jwts.builder().setHeaderParam("typ", "JWT")
|
|
|
- .claim("role", role)
|
|
|
- .claim("unique_name", name)
|
|
|
- .claim("userid", userId)
|
|
|
- .setIssuer(issuer)
|
|
|
- .setAudience(audience)
|
|
|
+ .claim("userid", userid)
|
|
|
+ .claim("username", username)
|
|
|
+ .claim("password", password)
|
|
|
+ .setIssuer(TokenConfig.ISSUER)
|
|
|
+ .setAudience(TokenConfig.AUDIENCE)
|
|
|
.signWith(signatureAlgorithm, signingKey);
|
|
|
+
|
|
|
|
|
|
- if (TTLMillis >= 0) {
|
|
|
- long expMillis = nowMillis + TTLMillis;
|
|
|
- Date exp = new Date(expMillis);
|
|
|
- builder.setExpiration(exp).setNotBefore(now);
|
|
|
- }
|
|
|
+ long expMillis = nowMillis + TokenConfig.KEEP;
|
|
|
+ Date exp = new Date(expMillis);
|
|
|
+ builder.setExpiration(exp).setNotBefore(now);
|
|
|
|
|
|
|
|
|
return builder.compact();
|
|
|
}
|
|
|
|
|
|
- public static Claims parseJWT(String jsonWebToken, String base64Security) {
|
|
|
+ public static Claims parseJWT(String jsonWebToken) {
|
|
|
try {
|
|
|
Claims claims = Jwts.parser().setSigningKey(DatatypeConverter.parseBase64Binary(base64Security))
|
|
|
.parseClaimsJws(jsonWebToken).getBody();
|