鍍金池/ 問答/C  HTML/ 為什么koa ctx.cookies.set里面 maxAge設(shè)置時(shí)間不準(zhǔn)確

為什么koa ctx.cookies.set里面 maxAge設(shè)置時(shí)間不準(zhǔn)確

  1. 我將 ctx.cookies.set("accessToken",token,{maxAge:26060})設(shè)置為兩個(gè)小時(shí),但總是幾分鐘后或十幾分鐘后就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);//過期時(shí)間 2分鐘*/
                        ctx.cookies.set("accessToken",token,{maxAge:2*60*60});//為什么maxAge要比正常事件設(shè)長這么久
                        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;
回答
編輯回答
心夠野

求不要沉下去~~~

2018年2月22日 18:06