Password Manager Access provides read only access API to various online password managers. This unified library is a successor to a bunch of independent libraries written in the past, such as lastpass-sharp, 1password-sharp and dashlane-sharp
The following services are supported by this library:
- 1Password
- Bitwarden
- Dashlane
- Dropbox Passwords
- Kaspersky Password Manager (work in progress)
- LastPass
- ProtonPass
- RoboForm
- Sticky Password
- True Key
- Zoho Vault
Additionally the library provides support for parsing and decryption of the offline OpVault vault format.
All services support basic log in, retrieve, decrypt, log out sequence. Though the modules providing support for different services are quite similar, they do not provide a unified interface. That is mainly due to the differences in the API and the data provided by the services themselves.
A typical work flow with simple password authentication looks like this:
var vault = Vault.Open("username",
"password",
new ClientInfo(Platform.Desktop,
"device-id",
"client-description"),
null);
foreach (var a in vault.Accounts)
Console.WriteLine($"{a.Name}: {a.Username} {a.Password} {a.Url}");
This code snippet downloads and decrypts a LastPass vault and prints all the accounts to the standard output. For the fully working example please refer to the examples folder in this repo.
The library is released under the MIT license. See LICENSE for details.