【问题标题】:Express/connect 'connect.sid' session cookie not created windows 10Express/connect 'connect.sid' 会话 cookie 未创建 Windows 10
【发布时间】:2015-08-19 23:17:00
【问题描述】:

我有一个快速网络应用程序,它使用 express-session 和 connect-redis 来创建和存储会话并将会话 cookie 发送回浏览器。这在所有机器上都可以正常工作(并且已经正常工作了 2 年以上)。然而,Windows 10 引入了一些阻止创建 connect.sid 会话 cookie 的功能——适用于所有浏览器(chrome、IE、Edge)。

这当然会阻止用户登录我的网站,因为从未创建或保持会话。我检查了我的身份验证路由,它似乎在 Windows 10 环境中运行良好(凭据已正确发送到服务器并针对数据库进行验证)但 connect.sid 会话 cookie 不存在,因此浏览器不存在不知道用户在后续页面加载时已通过身份验证。我再次强调,这多年来一直运行良好,并且只在 Windows 10 机器上运行的所有浏览器中失败。

有人知道这是为什么/如何解决这个问题吗?

【问题讨论】:

  • @Ragnar 似乎是一个不相关的问题。这明显是由于我们的代码在 userAgent 与移动或桌面浏览器不匹配时没有发送 cookie(并且由于某种原因 IE 也没有注册)。

标签: windows session cookies express


【解决方案1】:

原来这一般不是一个实际问题。我们的代码中有以下代码块:

app.use(function(req, res, next) {
  if (req.useragent.isDesktop || req.useragent.isMobile) {
    sessionMiddleware(req, res, next);
  } else {
    next();
  }
});

所以这里唯一要学习的有趣教训是 express 对 windows 10 用户代理字符串的解释根本无法识别它:

{ 
  isMobile: false,
  isiPad: false,
  isiPod: false,
  isiPhone: false,
  isAndroid: false,
  isBlackberry: false,
  isOpera: false,
  isIE: false,
  isIECompatibilityMode: false,
  isSafari: false,
  isFirefox: false,
  isWebkit: false,
  isChrome: true,
  isKonqueror: false,
  isOmniWeb: false,
  isSeaMonkey: false,
  isFlock: false,
  isAmaya: false,
  isEpiphany: false,
  isDesktop: false,
  isWindows: false,
  isLinux: false,
  isLinux64: false,
  isMac: false,
  isBada: false,
  isSamsung: false,
  isRaspberry: false,
  isBot: false,
  isCurl: false,
  isAndroidTablet: false,
  isWinJs: false,
  isKindleFire: false,
  isSilk: false,
  SilkAccelerated: false,
  Browser: 'Chrome',
  Version: '44.0.2403.155',
  OS: 'unknown',
  Platform: 'Microsoft Windows',
  GeoIP: {},
  source: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
}

【讨论】:

    猜你喜欢
    • 2017-06-20
    • 2021-01-11
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    相关资源
    最近更新 更多