import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; const _jwtKey = 'jwt_token'; /// Sensitive identity values stay behind one injectable storage boundary. class SecureIdentityStorage { SecureIdentityStorage({FlutterSecureStorage? storage}) : _storage = storage ?? const FlutterSecureStorage(); final FlutterSecureStorage _storage; Future saveJwt(String token) => _storage.write(key: _jwtKey, value: token); Future clearJwt() => _storage.delete(key: _jwtKey); Future readJwt() => _storage.read(key: _jwtKey); } final secureIdentityStorageProvider = Provider( (ref) => SecureIdentityStorage(), );