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();
Parameters:
-
username
: Lastpass account username (probably an email) used to set the account from which to load a vault blob file (if it exists);- Type: string
- Required: false
Parameters:
-
username
: Lastpass account username (probably an email)- Type: string
- Required: true
-
password
: Lastpass account password- Type: string
- Required: true
-
twoFactor
: Two factor authentication pin (if it's needed and none is provided an error will be thrown)- Type: string
- Required: false
Returns:
Promise
: resolves toundefined
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
.- Type: string
- Required: false
Returns:
Promise
: resolves toundefined
Parameters:
-
vaultFile
: Absolute path to store a vault blob file. Defaults to~/.lastpass-vault-${USERNAME}
if a username is set, otherwise to~/.lastpass-vault
.- Type: string
- Required: false
-
options
: File options for saving the file. Defaults to{ encoding: 'binary', mode: 0o400 }
for safe keeping.- Type: object
- Required: false
Returns:
Promise
: resolves toundefined
Parameters:
- none
Returns:
Buffer
: encrypted contents of the vault blob from Lastpass
Parameters:
-
username
: Lastpass account username (probably an email)- Type: string
- Required: true
-
password
: Lastpass account password- Type: string
- Required: true
-
search
: Object containing akeyword
to search for andoptions
forfuzzaldrin
. If a this object isn't provided, or akeyword
isn't set all accounts will be returned. Theoptions
object defaults to{ key: 'name' }
.- Type: object
- Required: false
Returns:
Promise
: resolves to anArray
of matched accounts
This wouldn't be possible without the amazing lastpass-ruby
and
lastpass-cli
.