What is getpass?
The getpass npm package is used to securely prompt for a user's password in a Node.js application. It can be used to handle password input without echoing the password back to the console, thus providing a more secure way to collect sensitive information from users.
What are getpass's main functionalities?
Get User Password
This feature allows you to prompt the user for a password without echoing it to the console. The password is passed to a callback function.
const getpass = require('getpass');
getpass.getPass('Password: ', function(err, password) {
if (err) throw err;
console.log('Your password is: ' + password);
});
Other packages similar to getpass
prompt
The 'prompt' package is a comprehensive library for getting user input in Node.js applications. It supports not only password fields but also other types of input. It is more feature-rich compared to getpass, which focuses solely on password input.
inquirer
Inquirer.js is a common interactive command-line user interface that includes password prompts among many other types of prompts. It is more versatile and customizable than getpass, which is specialized for password retrieval.
readline-sync
Readline-sync is a synchronous readline for interactively running to have a conversation with the user via a console(TTY). It can also handle password input like getpass but offers synchronous operation and additional input types.
getpass
Get a password from the terminal. Sounds simple? Sounds like the readline
module should be able to do it? NOPE.
Install and use it
npm install --save getpass
const mod_getpass = require('getpass');
API
mod_getpass.getPass([options, ]callback)
Gets a password from the terminal. If available, this uses /dev/tty
to avoid
interfering with any data being piped in or out of stdio.
This function prints a prompt (by default Password:
) and then accepts input
without echoing.
Parameters:
options
, an Object, with properties:
prompt
, an optional String
callback
, a Func(error, password)
, with arguments:
error
, either null
(no error) or an Error
instance
password
, a String