SecureStorageSample/SecureStorgageSample/StorageKeys/Keychain/CredentialsKey.swift

23 lines
832 B
Swift

import Foundation
import LocalData
extension StorageKeys {
/// Stores user credentials securely in keychain.
/// Configurable accessibility and access control.
struct CredentialsKey: StorageKey {
typealias Value = Credential
let name = "user_credentials"
let domain: StorageDomain = .keychain(service: "com.example.securestorage")
let security: SecurityPolicy
let serializer: Serializer<Credential> = .json
let owner = "SampleApp"
let availability: PlatformAvailability = .phoneOnly
let syncPolicy: SyncPolicy = .never
init(accessibility: KeychainAccessibility = .afterFirstUnlock, accessControl: KeychainAccessControl? = nil) {
self.security = .keychain(accessibility: accessibility, accessControl: accessControl)
}
}
}