diff --git a/Sources/XXMessengerClient/Utils/PasswordStorage+Keychain.swift b/Sources/XXMessengerClient/Utils/PasswordStorage+Keychain.swift index 0a062cc628cf037491a37ba8639e1f2529f209e8..fdf61fe7209e6255da2268c9caa9b120b143f5b4 100644 --- a/Sources/XXMessengerClient/Utils/PasswordStorage+Keychain.swift +++ b/Sources/XXMessengerClient/Utils/PasswordStorage+Keychain.swift @@ -3,18 +3,20 @@ import XXClient extension PasswordStorage { public static let keychain: PasswordStorage = { - let keychain = KeychainAccess.Keychain( - service: "xx.network.client.messenger" - ) + let keychain = KeychainAccess.Keychain(service: "xx.network.client.messenger") + let key = "password" return PasswordStorage( save: { password in - keychain[data: "password"] = password + keychain[data: key] = password }, load: { - guard let password = keychain[data: "password"] else { + guard let password = keychain[data: key] else { throw MissingPasswordError() } return password + }, + remove: { + try keychain.remove(key) } ) }()