Node.js 科尔 req.headers.cookie?

Node.js cors req.headers.cookie?

我有一个 node.js 服务器来处理一些事情,它位于端口 :9000,我构建了一个身份验证中间件来限制一些路由。

虽然我无法获取 cookie,所以我怀疑这是因为 req 来自另一个地方 :3000 例如。

我不是要获取 cookie 快速集,而是要从 req

获取客户端 PHP cookie
// using var req = http.IncomingMessage.prototype;
req.authenticated = function(callback) {
    console.log(this.headers.cookie)
}

所以问题是我如何设置以便每当 :3000 向我的 node.js 服务器 :9000 发出请求时,cookie 会与 headers 一起发送?

您有多种选择:

  • 可以把两台服务器都放在一个反向代理(比如nginx)后面,把同一个权限的不同URL映射到不同的后端。

  • 您可以配置 Apache(或托管您的主站点的任何服务器)使用 mod_proxy(instructions )

  • 您可以将 Node 服务器托管在主服务器的子域上,并使用相同的端口,然后使用 domain-wildcard cookies

  • 您可以将授权令牌显式发送为客户端代码设置的 HTTP header(您需要将原始授权令牌发送到可通过 JS 访问的客户端;注意XSS 攻击)

  • 您可以让主站点向 Node.js 服务器上的 URL 发送签名请求,以根据其权限设置 auth cookie(您需要做注销时相同,并防止 CSRF、session 修复和其他攻击;了解 SSO 技术)