-
Notifications
You must be signed in to change notification settings - Fork 5
서버와 토큰으로 인증 확인하기
Kyungsle edited this page Jul 25, 2022
·
1 revision
제 블로그에서 JWT가 무엇이고 어떻게 사용할 수 있는 지에 대해서 자세히 기술해두었습니다. localStorage에 토큰을 저장하고 가져오고 사용하는 코드는 아래의 코드를 확인하시면 됩니다.
위치는 여기입니다.
//TokenStorage.ts
const TOKEN = 'token';
export function saveToken(token: string) {
localStorage.setItem(TOKEN, token);
}
export function getToken() {
return localStorage.getItem(TOKEN);
}
export function clearToken() {
localStorage.clear();
}
커밋 : FIX: 로그인 토큰 클라이언트에서 삭제 되지 않는 오류
현재에는 서버에만 만료 시간이 있으며, 클라이언트에서는 로그아웃을 누르지 않는 이상 토큰이 삭제가 되지 않고 있습니다. 따라서 토큰 자체에 만료 시간을 적어주도록 합니다.
//TokenStorage.ts
const TOKEN = 'token';
const expireHour = 2;
export function clearToken() {
localStorage.clear();
}
export function saveToken(token: string) {
const tokenObj = {
value: token,
expire: Date.now() + expireHour * 60 * 60 * 1000,
};
const tokenObjString = JSON.stringify(tokenObj);
localStorage.setItem(TOKEN, tokenObjString);
}
export function getToken() {
const tokenObjString = localStorage.getItem(TOKEN);
if (!tokenObjString) {
return null;
}
const tokenObj = JSON.parse(tokenObjString);
if (Date.now() > tokenObj.expire) {
clearToken();
return null;
}
return tokenObj.value;
}
만료 시간을 두 시간으로 잡았습니다. 따라서 두 시간 후에는 로그인을 다시 해야합니다.