@sonardigital/token-manager
v1.0.7
Published
Lightweight cookie token storage for Frontend apps. Save, get, update, remove.
Readme
@sonardigital/token-manager
Lightweight cookie-based token storage for Frontend apps. This package does not create or validate JWTs; tokens are assumed to be issued and validated by your Backend. It only provides safe helpers to save, get, update, and remove a token from cookies.
Features
- 🔐 Cookie Storage: Configurable cookie attributes
- ⚡ Simple API: save, get, update, remove
- 🛡️ Type Safety: Full TypeScript support
- 🔧 Modular: Factory to create scoped managers
Installation
npm install @sonardigital/token-managerQuick Start
import { tokenManager } from '@sonardigital/token-manager';
// Save token to cookie (expires in 24h)
tokenManager.save('your-token', {
expires: new Date(Date.now() + 24 * 60 * 60 * 1000)
});
// Get token
const token = tokenManager.get();
// Update token
tokenManager.update('new-token');
// Remove token
tokenManager.remove();API Reference
TokenManager Interface
interface TokenManager {
save: (token: string, config?: Partial<TokenConfig>) => void;
get: () => string | null;
update: (token: string, config?: Partial<TokenConfig>) => void;
remove: () => void;
}Usage Examples
Basic Token Management
import { tokenManager } from '@sonardigital/token-manager';
// Save with custom expiration (days)
tokenManager.save(token, { expires: 7 });
// Read
const token = tokenManager.get();Custom Token Manager
import { createTokenManager } from '@sonardigital/token-manager';
const refreshTokenManager = createTokenManager({
name: 'refresh_token',
expires: 30,
secure: true,
sameSite: 'strict'
});
refreshTokenManager.save(refreshToken);React Integration
import { tokenManager } from '@sonardigital/token-manager';
const AuthComponent = () => {
const login = (token) => {
tokenManager.save(token, { expires: 1 });
};
const logout = () => {
tokenManager.remove();
};
return null;
};Notes
- Use HTTP-only, Secure, and SameSite settings from your Backend when possible.
- This library does not parse, validate, or decode JWTs on the Frontend.
Dependencies
js-cookie: ^3.0.5typescript: ^5.4.5
License
ISC
