koa.session

Koa general session middleware

npm install koa.session
19 downloads in the last month

koa-session

Simple store-based session middleware for Koa.

largely base on koa-session

Build Status

Installation

$ npm install koa.session

Notice

Use your redis client as options.store

Example

example

var session = require('koa.session');

var koa = require('koa');
var app = koa();

app.keys = ['some secret hurr'];
app.use(session());

app.use(function *(){
  var n = this.session.views || 0;
  this.session.views = ++n;
  this.body = n + ' views';
})

app.listen(3000);
console.log('listening on port 3000');

example using redis as a backend

var session = require('koa.session'),
    redis = require('redis'),
    client = redis.createClient();

var koa = require('koa');
var app = koa();

app.keys = ['some secret hurr'];
app.use(session( { store: client }));

app.use(function *(){
  var n = this.session.views || 0;
  this.session.views = ++n;
  this.body = n + ' views';
})

app.listen(3000);
console.log('listening on port 3000');

Semantics

This module provides "guest" sessions, meaning any visitor will have a session, authenticated or not. If a session is new a Set-Cookie will be produced regardless of populating the session.

API

Cookies

The cookies opts is set by cookie object, simply passed to cookie module. And the rest is same with koa-session;

Options

The cookie name is controlled by the key option, which defaults to "koa:sess". All other options are passed to ctx.cookies.get() and ctx.cookies.set() allowing you to control security, domain, path, and signing among other settings.

Session#isNew

Returns true if the session is new.

Destroying a session

To destroy a session simply set it to null:

this.session = null;

License

MIT

npm loves you