我正在尝试学习Node的“cookie会话”模块。https://github.com/expressjs/cookie-session
我很难理解如何传递cookie的选项。例如过期。违约似乎是一年!
这是有关cookie选项的说明:“其他选项传递给cookies.get()
和cookies.set()
,允许您控制安全性,域,路径和签名等设置。
但是我不明白!我是否也需要Cookie模块?或者我以某种方式改变选项槽var session = require('cookie-session')
?我试过session.cookies.set()
,但似乎不起作用。
我试着在“cookie-session”和“cookies”模块中读取源代码来寻找线索,但我不知道该找什么!
1条答案
按热度按时间llycmphe1#
简短回答
定义要在创建会话时指定的选项,如文档中所示:https://github.com/expressjs/cookie-session。它们将在创建cookie时使用(包括
expires
选项)。长回答
使用上面的示例,当您将配置对象传入
session
时,您将此对象发送到此处的函数中。这个opts
被传递,但特别是在这里存储为req.sessionOptions
。创建new Session
时传入req
,存储为this._ctx
。最后,当在Session
上调用save
时,这些选项会从sessionOptions
中提取出来,并在set
调用中使用:因此,在创建cookie时,您最初传递的选项将传递给
set
调用。