koa.session v2.0.1
koa-session
Simple store-based session middleware for Koa.
largely base on koa-session
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