Steam OpenId invalid signature InternalOpenIDError:

Steam OpenId invalid signature InternalOpenIDError:

安装并使护照身份验证正常工作一段时间后(大约是 2017 年的一年) 我在 2019 年再次 运行 这个项目,在使用 Steam 和护照进行身份验证时收到以下错误消息

{
  "name": "InternalOpenIDError",
  "message": "Failed to verify assertion",
  "openidError": {
    "message": "Invalid signature"
  }
}

这是我的配置,它总是返回 URL /#/404,因为它给出错误并重定向

app.get(/^\/auth\/steam(\/return)?$/,
    passport.authenticate('steam', { failureRedirect: '/#/404' }), (req, res) => {
        res.redirect('/');
    });

Steam 实施的身份验证似乎在 2018 年 4 月发生了变化,他们在协议中包含了 HTTPS。

passport-steam 已经对此进行了调整以便工作,但是当然,当我在我的应用程序中构建和安装 node_modules 时,我正在运行旧版本 (1.0.8) .

将我的 packaje.json 中的版本更改为 "passport-steam": "^1.0.10", 并在应用程序中使用完全相同的代码 运行 为我修复了它。