카테고리 없음
로그인 시간 나오게 하기
SODAsora
2023. 6. 8. 11:17
function getTime() {
const payload = localStorage.getItem("payload");
const payload_parse = JSON.parse(payload)
const tokneLifeTime = document.getElementById("tokneLifeTime")
if (payload_parse != null) {
// NumericDate 형식
// exp 1970년 ~ 토큰이 만료되는 초(sec)
let exp = payload_parse.exp
// iat 1970년 ~ 토큰 발급 날짜까지의 초(sec)
let iat = payload_parse.iat
// NumericDate 형식의 현재 시간(sec) 구하기
const now = Math.floor(Date.now() / 1000);
// 토큰의 남은 만료기간 구하기
const lifeTime = (exp - now) / 60
// 토큰 유효기간이 지났다면 토큰 정보 삭제
if (lifeTime < 0) {
localStorage.removeItem("access")
localStorage.removeItem("refresh")
localStorage.removeItem("payload")
location.reload();
// 토큰 유효기간이 지나지 않았다면 남은 로그인 시간 출력
} else {
const MIN = parseInt(lifeTime)
const SEC = parseInt(lifeTime % 1 * 60)
tokneLifeTime.textContent = `로그인 남은 시간 : ${MIN}분 ${SEC}초`
}
} else {
tokneLifeTime.style.display = "none"
}
}
function init() {
setInterval(getTime, 1000)
}
init()