import 'package:flutter_secure_storage/flutter_secure_storage.dart'; class TokenStorageService { // Singleton pattern (optional but usually handy for services) TokenStorageService._internal(); static final TokenStorageService _instance = TokenStorageService._internal(); factory TokenStorageService() => _instance; static const _tokenKey = 'auth_token'; // Use const constructor for secure storage final FlutterSecureStorage _storage = const FlutterSecureStorage(); /// Save or update the token Future setToken(String token) async { await _storage.write(key: _tokenKey, value: token); } /// Retrieve the stored token (null if none) Future getToken() async { return _storage.read(key: _tokenKey); } /// Delete the token Future clearToken() async { await _storage.delete(key: _tokenKey); } /// Optional: check quickly if a token exists Future hasToken() async { final token = await getToken(); return token != null && token.isNotEmpty; } }