react-native-keychain
react-native-keychain copied to clipboard
Generic password usage deletes other values stored in the iOS keychain
Setting and deleting generic passwords does not use any kind of identifier for this plugin in the search query, so any data that is also stored at the service will be deleted. Ideally you tag any data that this plugin writes with an ID unique to this plugin using kSecAttrGeneric, so your delete queries only deletes things managed by this plugin.
This plugin causes an issue with the Airship SDK, which stores information in the keychain at the bundle id. Airship keychain uses kSecAttrGeneric, so if you were to specify your own kSecAttrGeneric it would prevent conflicts. Right now the only workaround for this is for apps to specify the service in the options, but it's an optional value most people wont.