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",
исправил для меня точно такой же код, запущенный в приложении.