Steam OpenId неверная подпись InternalOpenIDError: - PullRequest
0 голосов
/ 09 января 2019

После установки и проверки правильности работы паспортной аутентификации некоторое время (примерно год в 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 Ответ

0 голосов
/ 09 января 2019

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

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

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

...