Something went wrong. Try again.
hardened bluesky app fork with microcosm
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930import {jwtDecode} from 'jwt-decode'
import {logger} from '#/logger'
/** * Simple check if a JWT token has expired. Does *not* validate the token or check for revocation status, * just checks the expiration time. * * @param token The JWT token to check. * @returns `true` if the token has expired, `false` otherwise. */export function isJwtExpired(token: string) { try { const payload = jwtDecode(token)
if (!payload.exp) return true const now = Math.floor(Date.now() / 1000) return now >= payload.exp } catch { logger.error(`session: could not decode jwt`) return true // invalid token or parse error }}
export function isAppPassword(token: string) { const payload = jwtDecode(token) // @ts-ignore return payload.scope === 'com.atproto.appPass'}