Browse files


  • Loading branch information...
florianheinemann committed Jan 9, 2019
1 parent 5bdba69 commit ab0473603b2b659f4571bf8552a4b3f976080620
Showing with 41 additions and 0 deletions.
  1. +41 −0
@@ -0,0 +1,41 @@
### TokenStores
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.

### Adapters
* [passwordless-hapi]( A thin adapter to use Passwordless with [Hapi]( (Thanks [@sb8244](

### Delivery services
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](/deepdive#2-step-authentication-e-g-for-sms-) to get an idea how to implement it

### Wrapper around delivery services
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!

0 comments on commit ab04736

Please sign in to comment.