thinkjs / thinkjs

Use full ES2015+ features to develop Node.js applications, Support TypeScript.
https://thinkjs.org/
MIT License
5.31k stars 616 forks source link

新请求直接设置Session内容会失败 #889

Open yhanwen opened 7 years ago

yhanwen commented 7 years ago

DESC

ENV

OS Platform: Mac

Node.js Version: 6.10

ThinkJS Version: 3

code

this.session('key', {content});

more description

登录接口,用CURL直接测试,会发现session要保存的内容没有存到redis里(或file里,看了一下源码两边逻辑一样),问题应该出在对fresh的判断这块


    if(this.options.fresh || this.status === -1){
      return this.initPromise = Promise.resolve();
    }
welefen commented 7 years ago

session 是异步操作,前面有加 await 么?

yhanwen commented 7 years ago

有的,如果请求已存在session的cookie的时候是没有问题的

welefen commented 7 years ago

@yhanwen 看下请求返回的时候有没有设置 cookie

lushijie commented 7 years ago

No feedback, close.

yhanwen commented 6 years ago

不好意思,之前忘了回复,这两天又掉这个坑了 请求回来是有设置cookie的,但在redis里看并没有存数据

yhanwen commented 6 years ago

https://github.com/thinkjs/think-session-redis/pull/1 提了个PR解决了一下 @welefen

wurining commented 6 years ago

@yhanwen https://github.com/thinkjs/thinkjs/issues/997 可以帮我看一下这个issues吗?这个问题跟你遇到的可能很类似,我用了think-session-mysql。

RonnieDuck commented 6 years ago

@yhanwen 我也遇到了这个问题,session配置里面我一开始改成了长度256,后来改回32就可以了。。估计有可能是这个问题 ![Uploading image.png…]()