keychain_access 1.0.2 copy "keychain_access: ^1.0.2" to clipboard
keychain_access: ^1.0.2 copied to clipboard

Flutter plugin to access Keychain Access apis on MacOs. Provides a secure way to store and retrieve secure content from the keychain

keychain_access #

Flutter plugin to access Keychain Access apis on MacOs.

  • Following operations are available

    • Store secure data
    • Retrieve secure data
    • Delete secure data

Introduction #

Why only MacOs:

In my opinion, there are numerous stable libraries/plugins available for Android however a reliable plugin for MacOs does not seem to exist.

This plugin currently only supports MacOS and maybe extended to iOS in the future and other platforms if such a need arises.

On MacOs, leverages Keychain Services API to add secure data, query the secure data, delete the secure data.

Usage #

To add secure data into keychain:

import 'package:keychain_access/keychain_access.dart';

await keychainAccess.addSecureData(
    "uniqueSecureDataIdentifier", # Example: username, uid, etc.
    "<secure-password>", # --> Your secure data goes here.
    application: "com.company.exampleApp" # --> This is optional.
);
*Note: // This will throw PlatformException if the secure data with key already exists.
// Use addOrUpdateSecureData to replace in case a record already exists with key.

To update secure data in keychain:

import 'package:keychain_access/keychain_access.dart';

await keychainAccess.updateSecureData(
    "uniqueSecureDataIdentifier", # Example: username, uid, etc.
    "<secure-password>", # --> Your secure data goes here.
    application: "com.company.exampleApp" # --> This is optional.
);
*Note: // This will throw PlatformException if the secure data with key does not exist.
// Use addOrUpdateSecureData to add in case a record does not exist with key.
// However, this does not gurantee any thread-safety.

To add or update secure data in keychain:

import 'package:keychain_access/keychain_access.dart';

await keychainAccess.addOrUpdateSecureData(
    "uniqueSecureDataIdentifier", # Example: username, uid, etc.
    "<secure-password>", # --> Your secure data goes here.
    application: "com.company.exampleApp" # --> This is optional.
);

To delete secure data in keychain:

import 'package:keychain_access/keychain_access.dart';

await keychainAccess.deleteSecureData(
    "uniqueSecureDataIdentifier", # Example: username, uid, etc.
    "<secure-password>", # --> Your secure data goes here.
    application: "com.company.exampleApp" # --> This is optional.
);
*Note: // This will throw PlatformException if the secure data with key does not exist.
1
likes
0
points
46
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter plugin to access Keychain Access apis on MacOs. Provides a secure way to store and retrieve secure content from the keychain

Repository (GitHub)
View/report issues

Topics

#security #password #keychain #macos #apple

Documentation

Documentation

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on keychain_access