javascript - 如何在 Node 的 Sails.js 中使用 header 作为 session key 而不是 cookie

标签 javascript node.js http http-headers sails.js

显然,在使用浏览器等时,使用 cookie 来存储 session ID 是最有意义的,但我使用 Sails 只是为了构建我的 RESTful API,并且我想使用 header (X-Session-Identifier或其他东西)向 Sails 提供 session ID(这也可以作为响应中的 header 返回,这样我就知道要再次发送什么)。

我认为我需要编写一些中间件,但我在文档中找不到可以连接的任何地方。

我需要删除 connect 的 cookieSession 中间件并将其替换为我自己的吗?

最佳答案

Sails.js 0.9.x

这没有在任何地方记录,但您应该能够通过执行以下操作向底层 Express 对象提供自定义中间件:

config/express.js

var sessionware = require('mycoolmiddleware');
modules.exports.express = {
    customMiddleware: function (app) {
        app.use(sessionware.sessionHeader());
    }
};

Sails.js 在这里处理这个:https://github.com/balderdashy/sails/blob/v0.9.16/lib/express/index.js#L162

Sails.js 0.10.x

从 Sails.js 0.10.x 开始,他们现在记录了如何在此处提供自定义中间件:http://sailsjs.org/#/documentation/concepts/Middleware

关于javascript - 如何在 Node 的 Sails.js 中使用 header 作为 session key 而不是 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17899179/

相关文章:

node.js - 从 Nodejs 服务器接收来自 ServiceBus 的 BrokeredMessage

javascript - 字符串编码 html

javascript - 客户端调用的 api 方法内的 HTTP GET

http - Web API 响应中的默认 HTTP header

node.js - Sequelize 不为多对多关系创建连接表

javascript - Jgrowl 喜欢使用 dojo 的通知

javascript - 如何处理 Phonegap + JQM 应用程序中的链接?

javascript - 1980 年前和 1980 年后的 RegEx Vin 验证

http - 如果 HTTP 状态是错误代码,Chrome 无法下载响应正文

javascript - 在将函数定义为 Object.prototype 扩展或只是函数之前要考虑什么?