NAuthStorageAdapter
Package: @nauth-toolkit/client
Type: Interface
Interface for custom storage adapters. Implement this interface to provide custom storage solutions (e.g., Capacitor Preferences, React Native AsyncStorage).
import { NAuthStorageAdapter } from '@nauth-toolkit/client';
Methods
| Method | Signature | Description |
|---|---|---|
getItem | (key: string) => Promise<string | null> | Retrieve value by key |
setItem | (key: string, value: string) => Promise<void> | Persist value |
removeItem | (key: string) => Promise<void> | Remove stored value |
clear | () => Promise<void> | Clear all stored values |
Built-in Implementations
BrowserStorage- localStorage/sessionStorage adapter (see NAuthClientConfig)InMemoryStorage- In-memory storage adapter (see NAuthClientConfig)
Example
Capacitor Storage Adapter
import { NAuthStorageAdapter } from '@nauth-toolkit/client';
import { Preferences } from '@capacitor/preferences';
class CapacitorStorage implements NAuthStorageAdapter {
async getItem(key: string): Promise<string | null> {
const { value } = await Preferences.get({ key });
return value;
}
async setItem(key: string, value: string): Promise<void> {
await Preferences.set({ key, value });
}
async removeItem(key: string): Promise<void> {
await Preferences.remove({ key });
}
async clear(): Promise<void> {
await Preferences.clear();
}
}
const client = new NAuthClient({
baseUrl: 'https://api.example.com/auth',
tokenDelivery: 'json',
storage: new CapacitorStorage(),
onSessionExpired: () => {},
});
Used By
- NAuthClientConfig -
storageproperty acceptsNAuthStorageAdapter
Related Types
NAuthClientConfig- Client configurationBrowserStorage- Built-in browser storageInMemoryStorage- Built-in in-memory storage