Skip to main content

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

MethodSignatureDescription
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

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