UNPKG

@narangcia-oss/cryptic-auth-client-plain-ts

Version:

A TypeScript client for interacting with a cryptic-auth host web server, crafted by Narangcia OSS.

85 lines (84 loc) 2.73 kB
"use strict"; /** * Token utility functions */ Object.defineProperty(exports, "__esModule", { value: true }); exports.isTokenExpired = isTokenExpired; exports.extractTokens = extractTokens; exports.storeTokens = storeTokens; exports.retrieveTokens = retrieveTokens; exports.clearStoredTokens = clearStoredTokens; /** * Checks if a token is expired based on its timestamp */ function isTokenExpired(exp) { const now = Math.floor(Date.now() / 1000); const expired = exp < now; console.log("[Tokens] Checking token expiration:", { exp, now, expired }); return expired; } /** * Extracts tokens from auth response */ function extractTokens(response) { console.log("[Tokens] Extracting tokens from response:", response); return { access_token: response.access_token, refresh_token: response.refresh_token, }; } /** * Stores tokens securely (placeholder for future custom storage) */ function storeTokens(tokens, storage = "memory") { console.log("[Tokens] Storing tokens:", { tokens, storage }); switch (storage) { case "localStorage": localStorage.setItem("auth_tokens", JSON.stringify(tokens)); break; case "sessionStorage": sessionStorage.setItem("auth_tokens", JSON.stringify(tokens)); break; default: // Memory storage is handled by the AuthClient instance break; } } /** * Retrieves stored tokens */ function retrieveTokens(storage = "memory") { console.log("[Tokens] Retrieving tokens from storage:", storage); switch (storage) { case "localStorage": { const localTokens = localStorage.getItem("auth_tokens"); console.log("[Tokens] Retrieved from localStorage:", localTokens); return localTokens ? JSON.parse(localTokens) : null; } case "sessionStorage": { const sessionTokens = sessionStorage.getItem("auth_tokens"); console.log("[Tokens] Retrieved from sessionStorage:", sessionTokens); return sessionTokens ? JSON.parse(sessionTokens) : null; } default: // Memory storage is handled by the AuthClient instance return null; } } /** * Clears stored tokens */ function clearStoredTokens(storage = "memory") { console.log("[Tokens] Clearing stored tokens from:", storage); switch (storage) { case "localStorage": localStorage.removeItem("auth_tokens"); break; case "sessionStorage": sessionStorage.removeItem("auth_tokens"); break; default: // Memory storage is handled by the AuthClient instance break; } }