Skip to content

Commit

Permalink
Feat: 토큰의 exp 확인하는 util 함수
Browse files Browse the repository at this point in the history
  • Loading branch information
soulchicken committed Oct 10, 2023
1 parent 3fa1317 commit b829714
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions src/utils/services/auth.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import jwtDecode from 'jwt-decode';

interface DecodedToken {
exp?: number; // 'exp'는 JWT 토큰의 만료 시간을 나타내는 UNIX 타임스탬프입니다.
}

// eslint-disable-next-line import/prefer-default-export
export const isTokenExpired = (token: string) => {
try {
const decoded: DecodedToken = jwtDecode(token);

if (!decoded.exp) {
return true; // 'exp' 필드가 없는 경우 토큰을 만료된 것으로 간주
}

const currentTime = Date.now() / 1000; // 현재 시간을 UNIX 타임스탬프로 변환

return currentTime > decoded.exp; // 만료 시간보다 현재 시간이 큰 경우 토큰은 만료된 것으로 간주
} catch (error) {
// 토큰 디코딩 중 오류가 발생한 경우 토큰을 만료된 것으로 간주
return true;
}
};

0 comments on commit b829714

Please sign in to comment.