MongoDB TokenStore for Passwordless
npm install passwordless-mongostore-bcrypt-nodejs-updatedThis fork uses bcrypt.js instead of bcrypt for pure node implementations. The one below no longer is updated.
This module provides token storage for Passwordless, a node.js module for express that allows website authentication without password using verification through email or other means. Visit the project's website https://passwordless.net for more details.
Tokens are stored in a MongoDB database and are hashed and salted using bcrypt. If you have trouble installing bcrypt (esp. on Windows) you could also consider using the slower but pure-JS version of MongoStore.
First, install the module:
$ npm install passwordless-mongostore --save
Afterwards, follow the guide for Passwordless. A typical implementation may look like this:
``javascript
var passwordless = require('passwordless');
var MongoStore = require('passwordless-mongostore');
var mongoURI = 'mongodb://localhost/passwordless-simple-mail';
passwordless.init(new MongoStore(mongoURI));
passwordless.addDelivery(
function(tokenToSend, uidToSend, recipient, callback) {
// Send out a token
});
app.use(passwordless.sessionSupport());
app.use(passwordless.acceptToken());
`
`javascript`
new MongoStore(uri, [options]);
uri: (string)* MongoDB URI as further described in the MongoDB docs
[options]: (object)* Optional. This can include MongoClient options as described in the docs and the ones described below combined in one object as shown in the example
Example:
`javascript`
var mongoURI = 'mongodb://localhost/passwordless-simple-mail';
passwordless.init(new MongoStore(mongoURI, {
server: {
auto_reconnect: true
},
mongostore: {
collection: 'token'
}
}));
$ npm test`