我正在使用这个模块进行koajs会话.
我检查了源代码但我真的无法理解它.我试图知道它在哪里保存会话数据,因为我看不到创建的文件,并且当服务器重新启动时,会话数据仍然存在.
我觉得它将数据保存在cookie本身中,然后我看到它创建了两个带有乱码文本的cookie.
现在,它是在cookie本身编码数据(不安全)还是以我不理解的方式将数据保存在服务器上?
根据koa-session库中的这段代码,会话数据被编码为JSON,然后编入base64,然后附加到cookie.
Session.prototype.save = function(){
var ctx = this._ctx;
var json = this.toJSON();
var opts = ctx.sessionOptions;
var key = ctx.sessionKey;
// set expire into cookie value
var maxAge = opts.maxAge || ONE_DAY;
json._expire = maxAge + Date.now();
json._maxAge = maxAge;
json = encode(json);
debug('save %s', json);
ctx.cookies.set(key, json, opts); // <-- this is where the session is being saved
};
Run Code Online (Sandbox Code Playgroud)