42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
const jwt = require("jsonwebtoken");
|
|
|
|
// JWT 설정
|
|
const JWT_SECRET = "your-super-secret-jwt-key-change-in-production";
|
|
const JWT_EXPIRES_IN = "24h";
|
|
|
|
// 테스트용 사용자 정보
|
|
const testUserInfo = {
|
|
userId: "arvin",
|
|
userName: "ARVIN",
|
|
deptName: "생산기술부",
|
|
companyCode: "ILSHIN",
|
|
};
|
|
|
|
console.log("=== JWT 토큰 테스트 ===");
|
|
console.log("사용자 정보:", testUserInfo);
|
|
|
|
// JWT 토큰 생성
|
|
const token = jwt.sign(testUserInfo, JWT_SECRET, {
|
|
expiresIn: JWT_EXPIRES_IN,
|
|
issuer: "PMS-System",
|
|
audience: "PMS-Users",
|
|
});
|
|
|
|
console.log("\n생성된 토큰:");
|
|
console.log(token);
|
|
|
|
// 토큰 검증
|
|
try {
|
|
const decoded = jwt.verify(token, JWT_SECRET);
|
|
console.log("\n토큰 검증 성공:");
|
|
console.log(decoded);
|
|
} catch (error) {
|
|
console.log("\n토큰 검증 실패:");
|
|
console.log(error.message);
|
|
}
|
|
|
|
// 토큰 디코드 (검증 없이)
|
|
const decodedWithoutVerification = jwt.decode(token);
|
|
console.log("\n토큰 디코드 (검증 없이):");
|
|
console.log(decodedWithoutVerification);
|