为什么koa ctx.cookies.set里面 maxAge设置时间不准确
- 我将 ctx.cookies.set("accessToken",token,{maxAge:26060})设置为两个小时,但总是几分钟后或十几分钟后就cookies里面就自动消失了
2.代码如下
var route=require('koa-router')();
var userModel=require('../public/mongo/users')
const jwt=require('jsonwebtoken'); const jwtKoa=require('koa-jwt');
const util=require('util'); const verify=util.promisify(jwt.verify);
const secret='jwt demo';
/*var userModel=require("../public/mongo/users");*/
route.post('/login',async function(ctx,next){
ctx.type="application/json";
if(ctx.cookies.get('accessToken')){
console.log("if(ctx.cookies.get('accessToken')){"+ctx.cookies.get('accessToken'));
ctx.body ={
loginSccseeful:true,
username:ctx.request.body.username,
token:ctx.cookies.get('accessToken')
};
return;
}
else
{
try{
//console.log(ctx.header);
var user=await userModel.find({name: ctx.request.body.username});
if (user.length == 0) {
console.log("user not register")
ctx.body = "user not register";
}
else {
let user=await userModel.find({
name: ctx.request.body.username,
password: ctx.request.body.password
});
if (user == null || user.length == 0) {
console.log('password wrong');
//ctx.response.body = "login fail";
ctx.body = "login fail";
}
if (user != null && user.length > 0) {
/*Token*/
const userToken={name:ctx.request.body.username};
const token="sssss";
// const token=jwt.sign(userToken,secret,{expiresIn:'30s'})//
console.log("token: "+token);
/*var exp = new Date();
exp.setTime(exp.getTime() + 60 * 2000);//过期时间 2分钟*/
ctx.cookies.set("accessToken",token,{maxAge:2*60*60});//为什么maxAge要比正常事件设长这么久
console.log(ctx.cookies.get('accessToken'));
console.log('login sccessful');
//ctx.body = "login successful";
//ctx.response.body = "login successful";
if(ctx.request.body.remember==true){
await ctx.cookies.set("suki","123456",{maxAge:14*24*3600, httpOnly:
true});
console.log(ctx.cookies.get('suki'));
// ctx.redirect('/signin');
}
//ctx.body ="ok";
ctx.body ={
loginSccseeful:true,
username:ctx.request.body.username,
token:token
};
console.log(ctx.type);
}
}
}catch(e){
console.log(e.err)
}
}
})
module.exports = route;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
maxAge单位是毫秒
https://github.com/pillarjs/c...
求不要沉下去~~~