feat: secure home credentials

This commit is contained in:
Artem Kokos
2026-04-22 23:25:48 +07:00
parent 6a961209cc
commit 7c0a2675c6
22 changed files with 1782 additions and 397 deletions

View File

@@ -0,0 +1,28 @@
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
abstract class CredentialsStorage {
Future<String?> getApiKey(String homeId);
Future<void> setApiKey(String homeId, String apiKey);
Future<void> deleteApiKey(String homeId);
}
class SecureCredentialsStorage implements CredentialsStorage {
static const _storage = FlutterSecureStorage();
static String _apiKeyStorageKey(String homeId) =>
'ignis_home_api_key_$homeId';
@override
Future<String?> getApiKey(String homeId) =>
_storage.read(key: _apiKeyStorageKey(homeId));
@override
Future<void> setApiKey(String homeId, String apiKey) =>
_storage.write(key: _apiKeyStorageKey(homeId), value: apiKey);
@override
Future<void> deleteApiKey(String homeId) =>
_storage.delete(key: _apiKeyStorageKey(homeId));
}