|
@@ -5,6 +5,8 @@ import java.security.GeneralSecurityException;
|
|
|
import java.security.NoSuchAlgorithmException;
|
|
|
import java.util.Base64;
|
|
|
import java.util.Base64.Decoder;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
import org.json.JSONObject;
|
|
|
import org.slf4j.Logger;
|
|
@@ -28,7 +30,49 @@ public class JWTUtils2 {
|
|
|
// public static String ACCESS_TOEKN_SECRET_KEY = "dlswmdaWNvbnRyb2xzMTc5MyFAIw==";
|
|
|
// // icontrolsrefresh1793!@#
|
|
|
// public static String REFRESH_TOKEN_SECRET_KEY = "aWNvbnRyb2xzcmVmcmVzaDE3OTMhQCM=";
|
|
|
+// public static void main(String[] args) {
|
|
|
+// String token = "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjQzMjAwLCJjbXBJcCI6Ik1qSXhMakUyTXk0eU5ETXVNdz09IiwiaG9tZUlkIjoiTXZwVDN2dGgvMU5QOW5MK3phdnplQT09IiwiaWF0IjoxNjE3NjM1NDAxLCJjbGllbnRJbmZvIjoiTVBBSFhLV0VMUyJ9.hfJ1pKE1eLQBvosjCavrpGhp1f7jQNfs_OY6uCN-";
|
|
|
+// Map<String, Object> _map = JWTUtils2.getTokenInfo(token);
|
|
|
+//
|
|
|
+// System.out.println("-->" + _map);
|
|
|
+// }
|
|
|
+ public static Map<String, Object> getTokenInfo(String token){
|
|
|
+ String secretKey = "";
|
|
|
+ Map<String, Object> rMap = new HashMap<String, Object>();
|
|
|
+
|
|
|
+ try {
|
|
|
+ secretKey = ACCESS_TOEKN_SECRET_KEY;
|
|
|
+
|
|
|
+// logger.info(token);
|
|
|
+ Decoder decoder = Base64.getDecoder();
|
|
|
+ // 시그니처가 맞는지 확인
|
|
|
+ String enPayload = token.split("\\.")[1];
|
|
|
+ String dePayload = new String(decoder.decode(enPayload));
|
|
|
+
|
|
|
+ JSONObject obj = new JSONObject(dePayload);
|
|
|
|
|
|
+ String jwt = Jwts.builder().claim("exp", obj.get("exp")) // 1시간 -> 설정정보로 변경해야함
|
|
|
+ .claim("cmpIp", obj.get("cmpIp")).claim("homeId", obj.get("homeId")).claim("iat", obj.get("iat"))
|
|
|
+ .claim("clientInfo", obj.get("clientInfo"))
|
|
|
+ .signWith(SignatureAlgorithm.HS256, secretKey.getBytes("UTF-8")).compact();
|
|
|
+
|
|
|
+ String encodedHomeId = obj.get("homeId").toString();
|
|
|
+ AES256Util aes = new AES256Util();
|
|
|
+ String homeId = aes.decrypt(encodedHomeId);
|
|
|
+ int longTime = (int)obj.get("iat");
|
|
|
+ System.out.println("longtime =" + longTime);
|
|
|
+ rMap.put("cmpIp", obj.get("cmpIp"));
|
|
|
+ rMap.put("homeId", homeId);
|
|
|
+ rMap.put("iat", CommonUtil.getStrTypeTimeWithLongType(longTime));
|
|
|
+ rMap.put("clientInfo", obj.get("clientInfo"));
|
|
|
+
|
|
|
+ }catch(Exception e) {
|
|
|
+ rMap.put("ERROR", e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ return rMap;
|
|
|
+ }
|
|
|
/**
|
|
|
*
|
|
|
* @param token
|