932 B
932 B
KeychainMigratingCodableBackingStore
import TIFoundationUtils
import TIKeychainUtils
import KeychainAccess
extension StorageKey {
static var knownPins: StorageKey<[String: Set<String>]> {
.init(rawValue: "knownPins")
}
}
extension Keychain {
static var keychain: Keychain {
.init()
}
static var groupKeychain: Keychain {
.init(service: "app.group.identifier")
}
}
extension KeychainMigratingStorageContainer {
static var defaultContainer: KeychainMigratingStorageContainer {
.init(sourceStorage: .keychain, targetStorage: .groupKeychain)
}
}
struct PinningManager {
// Migration from keychain to groupKeychain
// @KeychainCodableBackingStore(key: .knownPins, codableKeyValueStorage: .keychain)
@KeychainMigratingCodableBackingStore(key: .knownPins, storageContainer: .defaultContainer)
var knownPins = [String: Set<String>]()
}