Steam OpenId неверная подпись 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('/');
    });

1 ответ

Похоже, аутентификация, которая была реализована Steam, была изменена в апреле 2018 года, и они включили HTTPS в протокол.

Библиотека passport-steam адаптировал это для работы, но, конечно, я работал в старой версии (1.0.8), когда собирал и устанавливал node_modules в моем приложении.

Поднятие версии в моем packaje.json для "passport-steam": "^1.0.10", исправил для меня точно такой же код, запущенный в приложении.

Другие вопросы по тегам