diff --git a/packages/oidc4vc/lib/src/oidc4vc.dart b/packages/oidc4vc/lib/src/oidc4vc.dart index 33679a15f..350133ff4 100644 --- a/packages/oidc4vc/lib/src/oidc4vc.dart +++ b/packages/oidc4vc/lib/src/oidc4vc.dart @@ -1720,6 +1720,12 @@ class OIDC4VC { try { final secureStorageProvider = getSecureStorage; final cachedData = await secureStorageProvider.get(uri); + // TODO(hawkbee): To be removed. + /// temporary solution to purge faulty stored data + /// Will be removed in the future + await purgeFaultyStorageEntries(secureStorageProvider, uri); + + /// end of temporary solution dynamic response; dio.options.headers = headers; @@ -1759,6 +1765,20 @@ class OIDC4VC { } } +// TODO(hawkbee): To be removed. + Future purgeFaultyStorageEntries( + SecureStorageProvider secureStorageProvider, String uri) async { + // get all entries from the storage + final entries = await secureStorageProvider.getAllValues(); + // remove all entries that do not start with the https:// + for (final entry in entries.entries) { + if (!entry.key.startsWith('https://')) { + await secureStorageProvider.delete(entry.key); + print(entry.key + ' deleted'); + } + } + } + Map publicKeyBase58ToPublicJwk(String publicKeyBase58) { ///step 1 : change the publicKeyBase58 format from base58 to base64 : ///decode base58 then encode in base64 urlsafe