koa-session-ts =================
npm install koa-session-tskoa-session-ts
=================





Generic session middleware for koa, easy use with custom stores such as redis or mongo, supports defer session getter.
This middleware will only set a cookie when a session is manually set. Each time the session is modified (and only when the session is modified), it will reset the cookie and session.
You can use the rolling sessions that will reset the cookie and session for every request which touch the session. Save behavior can be overridden per request.
npm install koa-session-ts --save
``ts
import * as Koa from "koa";
import session from "koa-session-ts";
const app = new Koa();
app.use(session());
app.use(async ctx => {
// the parsed body will store in ctx.request.body
// if nothing was parsed, body will be an empty object {}
console.log(ctx.session);
console.log(ctx.sessionId);
console.log(ctx.sessionSave);
console.log(ctx.sessionStore);
ctx.regenerateSession();
});
`
- key cookie name, defaulting to koa.sidstore
- session store instance, default is a MemoryStorereconnectTimeout
- store reconnectTimeout in ms, default is onedaycookieOptions
- session cookie settings, default is `
js`
{
httpOnly: true,
maxAge: 86400000, // one day in ms
overwrite: true,
path: '/',
secure: false,
signed: false,
}
defer
- defer get session, you should await this.session to get the session if defer is true, default is falserolling
- rolling session, always reset the cookie and sessions, default is falseallowEmpty
- allow session empty, default is falsegenSid
- you can use your own generator for siderrorHanlder
- handler for session store get or set errorvalid
- valid(ctx, session), valid session value before use itbeforeSave
- beforeSave(ctx, session), hook before save session
and implement the following APIs:-
get(sid: string): get session object by sid
- set(sid: string, sess: Session, ttl?: number): set session object for sid, with a ttl (in ms)
- destroy(sid: string): destroy session for sidthe api needs to return a Promise, Thunk or generator.
And use these events to report the store's status.
-
DISCONNECT
- CONNECT`