Class

TokenManager

TokenManager(options)

Manages access/refresh token storage, JWT payload decoding, and auto-refresh. Uses localStorage or in-memory storage. Decodes JWT payloads via atob (no verification).

Constructor

# new TokenManager(options)

Parameters:
Name Type Attributes Default Description
options object
storage 'localStorage' | 'memory' <optional>
'localStorage'
storagePrefix string <optional>
'hiyve_auth_'

Key prefix for localStorage

autoRefresh boolean <optional>
true
refreshBuffer number <optional>
300

Seconds before expiry to trigger refresh

Classes

TokenManager

Methods

# _scheduleRefresh()

Reschedule the auto-refresh based on current access token expiry.

# clear()

Clear all stored tokens and stop auto-refresh.

# decodeToken(token) → {object|null}

Decode the JWT payload (no verification).

Parameters:
Name Type Description
token string
object | null

# getAccessToken() → {string|null}

string | null

# getRefreshToken() → {string|null}

string | null

# getTokenExpiry(token) → {number|null}

Decode JWT payload and return the exp field (seconds since epoch). Does NOT verify the signature.

Parameters:
Name Type Description
token string

JWT string

Expiry timestamp in seconds, or null if unreadable

number | null

# isAuthenticated() → {boolean}

Check if user has a non-expired access token.

boolean

# setTokens(tokens)

Store tokens.

Parameters:
Name Type Description
tokens object
accessToken string
refreshToken string

# startAutoRefresh(refreshFn)

Start auto-refresh timer. Calls refreshFn when the access token nears expiry.

Parameters:
Name Type Description
refreshFn function

Async function that performs token refresh

# stopAutoRefresh()

Stop auto-refresh timer.