TokenStores are used to store valid tokens for the time of their validity. A couple of implementations already exist, but it is also quick and easy to develop your own TokenStore with the help of the provided test framework.
- MongoStore: Implementation for MongoDB
- MongoStore (bcrypt-nodejs): Same as above but using bcrypt-nodejs instead of the native version of bcrypt
- RedisStore: Implementation for Redis
- RedisStore (bcrypt-nodejs): Same as above but using bcrypt-nodejs instead of the native version of bcrypt (Thanks Lloyd Cotten)
- PouchStore: Implementation for PouchDB / CouchDB (Thanks @daleharvey)
- BookshelfStore: Implementation for Bookshelf.js (Thanks @nnarhinen)
- RethinkDBStore: Implementation for RethinkDB (Thanks staygrimm)
- PostgreStore: Implementation for PostgreSQL (Thanks Bruno Marques)
- LokiJSStore: Implementation for LokiJS
- MemoryStore: Memory-based implementation (Thanks Lloyd Cotten)
- MySQLStore: Implementation for MySQL (Thanks William Burke)
- NeDBStore: Implementation for NeDB (Thanks Zevero)
- DynamoStore: Implementation for Amazon Web Services' DynamoDB
- node-cache: In-memory solution based on node-cache (Thanks Andrea Falzetti)
- node-cache-manager: Implementation for node-cache-manager, supporting multiple storage types (Thanks Theo Gravity)
- AuthJetStore Free cloud-hosted solution from the makers of AuthJet (Thanks @ecwyne)
Aware of any other implementations? Let us know
In case you need something different, simply fork one of the exiting TokenStores or start from scratch and implement against passwordless-tokenstore-test, a test framework that makes sure you fulfill all the criteria of the API. It might also be worth having a look at the comments of the API.
- passwordless-hapi: A thin adapter to use Passwordless with Hapi (Thanks @sb8244)
You are free to deliver the tokens in any way that suits your needs. The following modules might be a good starting point:
- emailjs: Straight-forward node.js email client (requires a SMTP server such as your Gmail account)
- Mandrill: Scalable SMTP infrastructure. They do have a node.js module. In fact, this website uses their services. Free for up to 12k emails per month
- Sendgrid: Similar to Mandrill. Mature node.js module with good documentation
- Twilio: Provides APIs for text messages and voice calls. Have a look at the 2-step authentication to get an idea how to implement it
The following modules ease the use of external delivery services by offering a thin wrapper customized for Passwordless:
- passwordless-mailgun-delivery: A thin wrapper to directly use Mailgun with Passwordless (Thanks Alex Jurgensen)
- passwordless-plivo-delivery: A thin wrapper to directly use Plivio with Passwordless (Thanks Alex Jurgensen)
- passwordless-sms: Deliver tokens via SMS using AuthJet
Let us know if you come across any other great ways to send out tokens!