Я использую passport.js со стратегией spotify и Spotify-Web-Api-Node https://github.com/thelinmichael/spotify-web-api-node для отправки запросов в Spotify Web API. Я также использую промежуточное программное обеспечение для экспресс-сеанса, чтобы установить сеанс, и Mongo Store, чтобы хранить куки, даже после того, как сервер был выключен.
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
maxAge: new Date(Date.now() + 3600000),
store: new MongoStore({ mongooseConnection: mongoose.connection }),
}));
У меня также есть промежуточное ПО для проверки подлинности моих запросов.
ensureAuthenticated = (req, res, next) => {
if (req.isAuthenticated() || req.user) {
return next();
}
console.log('REDIRECTING');
res.redirect('/auth/spotify');
}
Если я не сохраню куки (закомментировав свойство хранилища в сеансе) и перезапущу сервер, req.isAuthenticated () вернет false, и я перенаправлюсь в / auth / spotify. Я хочу сохранить файл cookie, чтобы даже после перезапуска сервера мой запрос все еще проходил проверку подлинности.
Если я сохраню cookie и перезапущу сервер, req.isAuthenticated () вернет true, однако мои вызовы API Spotify возвращают «неавторизованную» ошибку.
Как мне сохранить куки и продолжать совершать вызовы API Spotify без получения неавторизованной ошибки?