getToken method
Asynchronously retrieves or restores token from storage.
Implementation
Future<String> getToken() async {
if (_cachedToken != null) {
return _cachedToken!;
}
try {
final stored = await _storage.getItem(storageKey);
if (stored != null && stored.trim().isNotEmpty) {
_cachedToken = stored.trim();
return _cachedToken!;
}
} catch (_) {
// Fallback
}
final newToken = generateUuid();
_cachedToken = newToken;
try {
await _storage.setItem(storageKey, newToken);
} catch (_) {}
return newToken;
}