【问题标题】:How to read express cookie in socket.io authorization process?如何在 socket.io 授权过程中读取 express cookie?
【发布时间】:2014-11-21 07:00:16
【问题描述】:

很多文章(here's one)展示了如何利用authorization事件来提取快速会话的cookie:

io.set('authorization', function(data, accept) {
            if (!data.headers.cookie) {
                return accept('No cookie transmitted.', false);
            }
            else {
                // extract the signed cookie..
            }

我打印了data.headers,但没有cookie 属性。

我检查了 cookie(通过 Chrome 开发人员工具),connect.sid 域是 localhost,而 io 域是 127.0.0.1。也许问题就在那里,但我不知道如何改变它。

另一方面,express cookie 被服务器 A(端口 3000)使用,而 socket.io cookie 被服务器 B(端口 4000)使用。

我很乐意提供解决方案。
谢谢。

【问题讨论】:

    标签: node.js session cookies express socket.io


    【解决方案1】:

    我刚刚解决了它。问题确实出在域上。您应该将socket.io 域更改为localhost 而不是127.0.0.1

    希望对某人有所帮助!

    【讨论】:

    • 我知道这已经过时了——但我这几天一直在为类似的问题苦苦挣扎,将 ip 切换到域也为我解决了这个问题。非常感谢!
    猜你喜欢
    • 2011-12-23
    • 1970-01-01
    • 2019-08-16
    • 2021-04-07
    • 2021-10-15
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多