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('/');
    });

person Alejandro Vales    schedule 09.01.2019    source источник


Ответы (1)


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

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

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

person Alejandro Vales    schedule 09.01.2019