내일배움캠프 77일차

김서영·2022년 12월 22일
0

내일배움캠프 TIL

목록 보기
79/85

1. 오늘 내가 한 일!

배포에 하루종일 매달리다가.. 오류가 도저히 해결이 날 기미가 보이지 않아 인스턴스를 연 팀원분이 배포를 성공한 분께 여쭤보면서 처음부터 다시해보겠다구 하셨다...
때문에 저녁부터는 팀원분이 진행하던 토큰 시간이 만료되면 로그아웃 되는 기능을 도와드리고, 자잘한 css들을 수정하였다.

2. 알게 된 것!

- 토큰 시간 만료되면 로그아웃 되게 하기!

// 토큰 완료 자동 로그아웃//
window.onload = () =>{
    const payload = JSON.parse(localStorage.getItem("payload"));
    console.log(payload.exp)
    console.log(Date.now()/1000)
    if (payload.exp <(Date.now()/1000)){
        localStorage.removeItem("access")
        localStorage.removeItem("refresh")
        localStorage.removeItem("payload")
        localStorage.removeItem("user")
        alert("사용시간이 완료되 로그아웃 되었습니다.")
        window.location.href = "../templates/main.html"
    };
};

JSON.parse : localStorage에 저장되어있던 payload의 값이 json 형식으로 출력!!
(Date.now()/1000) : 현재 시간을 exp와 같은 형식으로 변형시켜줌!!

이 데이터에서 exp = 만료 시간만 뽑아낸 후 토큰시간이 만료되면 로그아웃이 되도록 하는 코드에 조건으로 넣어서 로컬스토리지에 존재하는 로그인 관련 데이터들을 제거할 수 있다!

참고자료: https://kihyeonkwon.notion.site/simple-jwt-1b5fe461ab914e84ace2b8aecf192a7e

profile
개발과 지식의 성장을 즐기는 개발자

0개의 댓글