Files
jinzhi/lib/common/storage/secure_identity_storage.dart
T
2026-08-13 17:17:52 +08:00

22 lines
737 B
Dart

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<void> saveJwt(String token) =>
_storage.write(key: _jwtKey, value: token);
Future<void> clearJwt() => _storage.delete(key: _jwtKey);
Future<String?> readJwt() => _storage.read(key: _jwtKey);
}
final secureIdentityStorageProvider = Provider<SecureIdentityStorage>(
(ref) => SecureIdentityStorage(),
);