diff --git a/src/TokenCache.ts b/src/TokenCache.ts index 85f7ac3..ee757f1 100644 --- a/src/TokenCache.ts +++ b/src/TokenCache.ts @@ -52,7 +52,7 @@ export class TokenCache { public isExpiring(session: Session): [boolean, number] { const decodedJwt: Jwt = jwtDecode(session.AccessToken); - const timeLeft: number = decodedJwt['exp']; - Math.floor(Date.now() / 1000); + const timeLeft: number = decodedJwt['exp'] - Math.floor(Date.now() / 1000); if (timeLeft < (5 * 60)) { return [true, 0]; diff --git a/src/destreamer.ts b/src/destreamer.ts index 9f5f174..6db3135 100644 --- a/src/destreamer.ts +++ b/src/destreamer.ts @@ -195,7 +195,8 @@ async function downloadVideo(videoGUIDs: Array, continue; } - if (argv.keepLoginCookies && tokenCache.isExpiring(session)) { + const [isSessionExpiring] = tokenCache.isExpiring(session); + if (argv.keepLoginCookies && isSessionExpiring) { logger.info('Trying to refresh access token...'); session = await refreshSession('https://web.microsoftstream.com/'); apiClient.setSession(session);