Lastpass client for Node.js
I always see people using other password integrations with Node.js, like 1Password, and that made me sad. I really like Lastpass, but it seems they aren't too dev friendly. This changes that! Now it's extremely easy to access your Lastpass Vault, securely, and with a promised based API.
Install and save the package
npm i -S lastpass
Import the package
import Lastpass from 'lastpass'; // ES6
// OR
var Lastpass = require('lastpass').default; // ES5
Instantiate the class Lastpass
const lpass = new Lastpass();
new Lastpass([username])
Parameters:
username
: Lastpass account username (probably an email) used to set the
account from which to load a vault blob file (if it exists);
loadVault(username, password, [twoFactor])
Parameters:
username
: Lastpass account username (probably an email)
password
: Lastpass account password
twoFactor
: Two factor authentication pin (if it's needed and none is
provided an error will be thrown)
Returns:
Promise
: resolves to undefined
loadVaultFile([vaultFile])
Parameters:
vaultFile
: Absolute path to location of a stored vault blob. Defaults to
~/.lastpass-vault-${USERNAME}
if a username is set, otherwise to
~/.lastpass-vault
.
Returns:
Promise
: resolves to undefined
saveVaultFile([vaultFile, options])
Parameters:
vaultFile
: Absolute path to store a vault blob file. Defaults to
~/.lastpass-vault-${USERNAME}
if a username is set, otherwise to
~/.lastpass-vault
.
options
: File options for saving the file. Defaults to
{ encoding: 'binary', mode: 0o400 }
for safe keeping.
Returns:
Promise
: resolves to undefined
getVault()
Parameters:
Returns:
Buffer
: encrypted contents of the vault blob from LastpassgetAccounts(username, password, [search])
Parameters:
username
: Lastpass account username (probably an email)
password
: Lastpass account password
search
: Object containing a keyword
to search for and options
for
fuzzaldrin
. If a this object isn't provided, or a keyword
isn't set
all accounts will be returned. The options
object defaults to
{ key: 'name' }
.
Returns:
Promise
: resolves to an Array
of matched accountsThis wouldn't be possible without the amazing lastpass-ruby
and
lastpass-cli
.