Skip to content

yilab/connect-dynamodb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Connect DynamoDB

connect-dynamodb is a DynamoDB session store backed by the aws-sdk

Installation

  $ npm install connect-dynamodb

Options

  • client An existing AWS DynamoDB object you normally get from new AWS.DynamoDB()
  • AWSConfigPath Optional path to JSON document containing your AWS credentials (defaults to loading credentials from environment variables)
  • AWSRegion Optional AWS region (defaults to 'us-east-1')
  • table Optional DynamoDB server session table name (defaults to "sessions", currently the hash key has to be id - see issue #14)
  • prefix Optional key prefix (defaults to "sess")
  • reapInterval Optional - how often expired sessions should be cleaned up (defaults to 600000)

Usage

var options = {
	// Name of the table you would like to use for sessions.
	// Defaults to 'sessions'
  	table: 'myapp-sessions',

	// Optional path to AWS credentials (loads credentials from environment variables by default)
  	// AWSConfigPath: './path/to/credentials.json',
  
  	// Optional. How often expired sessions should be cleaned up.
  	// Defaults to 600000 (10 minutes).
  	reapInterval: 600000
};

var connect = require('connect'),
	DynamoDBStore = require('connect-dynamodb')(connect);
connect()
	.use(connect.cookieParser())
	.use(connect.session({ store: new DynamoDBStore(options), secret: 'keyboard cat'}))

Or with express

DynamoDBStore = require('connect-dynamodb')(express);
var app = express(
	express.cookieParser(), 
	express.session({ store: new DynamoDBStore(options), secret: 'keyboard cat'})
);

Contributors

Some people that have added features and fixed bugs in connect-dynamodb other than me.

Thanks!

License

connect-dynamodb is licensed under the MIT license.

Donations

I made this in my spare time, so if you find it useful you can donate at my BTC address: 1K9EtkuWURtBMqeAUxRiQGmf8RQ7DmJ2TR. Thank you very much!