fix: secure storage on iOS was not setting up correctly

This commit is contained in:
Christian Pauly 2022-08-27 10:12:20 +02:00
parent 6a84eabe7f
commit 279f6ead50
4 changed files with 7 additions and 4 deletions

View File

@ -40,7 +40,7 @@ class FlutterFluffyBoxDatabase extends FluffyBoxDatabase {
const secureStorage = FlutterSecureStorage();
final containsEncryptionKey =
await secureStorage.containsKey(key: _cipherStorageKey);
await secureStorage.read(key: _cipherStorageKey) != null;
if (!containsEncryptionKey) {
// do not try to create a buggy secure storage for new Linux users
if (Platform.isLinux) throw MissingPluginException();

View File

@ -33,7 +33,7 @@ class FlutterHiveCollectionsDatabase extends HiveCollectionsDatabase {
const secureStorage = FlutterSecureStorage();
final containsEncryptionKey =
await secureStorage.containsKey(key: _cipherStorageKey);
await secureStorage.read(key: _cipherStorageKey) != null;
if (!containsEncryptionKey) {
// do not try to create a buggy secure storage for new Linux users
if (Platform.isLinux) throw MissingPluginException();
@ -50,6 +50,9 @@ class FlutterHiveCollectionsDatabase extends HiveCollectionsDatabase {
hiverCipher = HiveAesCipher(base64Url.decode(rawEncryptionKey));
} on MissingPluginException catch (_) {
const FlutterSecureStorage()
.delete(key: _cipherStorageKey)
.catchError((_) {});
Logs().i('Hive encryption is not supported on this platform');
} catch (e, s) {
const FlutterSecureStorage()

View File

@ -668,7 +668,7 @@ packages:
name: flutter_secure_storage
url: "https://pub.dartlang.org"
source: hosted
version: "5.1.0"
version: "6.0.0"
flutter_secure_storage_linux:
dependency: transitive
description:

View File

@ -43,7 +43,7 @@ dependencies:
flutter_olm: ^1.2.0
flutter_openssl_crypto: ^0.1.0
flutter_ringtone_player: ^3.1.1
flutter_secure_storage: ^5.1.0
flutter_secure_storage: ^6.0.0
flutter_slidable: ^2.0.0
flutter_svg: ^0.22.0
flutter_typeahead: ^4.0.0