在sails.js应用程序中设置安全cookie

kin*_*ohm 3 javascript cookies redis node.js sails.js

配置sails.js以设置安全cookie的方法是什么?我们使用redis来持久化会话状态.需要sails.js规定的方式(而不是一些Express中间件选项).最终,我希望检查Chrome Cookie视图中的"安全"列以查找应用的Cookie:

在此输入图像描述

在文档中,没有明确提到如何执行此操作:

http://sailsjs.org/#!/documentation/reference/sails.config/sails.config.session.html

有一个ssl配置选项,但部署应用程序ssl: true没有产生所需的结果:

module.exports.session = {
  ...
  ssl: true
  ...
}
Run Code Online (Sandbox Code Playgroud)

ssl选项也没有记录,但我认为它与签名cookie有关.

编辑:在屏幕截图中,我在没有HTTPS的情况下从localhost服务,但是这个应用程序是使用HTTPS从生产服务器提供的,并且观察到相同的行为

Ofe*_*man 6

Sails使用express.session来处理会话cookie,因此您可以通过cookie: { secure: true }在config/session.js中设置来启用安全cookie

您需要使用HTTPS for express来设置cookie

它需要启用https的网站,即安全cookie需要HTTPS.如果设置了安全,并且您通过HTTP访问您的站点,则不会设置cookie.

如果您是代表您的Web服务器启用SSL终止的代理服务器,则trust proxy通过在config/http.js中添加以下中间件来启用Express 选项

    module.exports.http = {
      customMiddleware: function(app) {
        app.enable('trust proxy');
      }
    }; 
Run Code Online (Sandbox Code Playgroud)