Я ищу способ использовать стратегию Twitter для Passport.js без использования коллекции/таблицы сеансов в базе данных. Причина этого заключается в том, что мы сохраняем все эти данные в коллекции сеансов, которые могут быть довольно большими, и мы сохраняем обратную транзакцию базы данных всякий раз, когда пользователь делает запрос, потому что нам не нужно каждый раз обращаться к БД для получения данных сеанса.
В любом случае, мы должны иметь возможность использовать токен (JSON Web Token) для аутентификации пользователя, как описано в этой замечательной статье:
https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens
Но я смущен, почему нет простого способа сделать это с помощью Passport? (В статье делается все без паспорта, но верно ли это у Паспорта?).
Возможно, я слишком задумываюсь об этом, и способ сделать это - просто опустить вызовы, которые у меня есть в Express, чтобы использовать сеанс DB, а затем Passport уже достаточно умен, чтобы обрабатывать JWT? Почему-то я сомневаюсь в этом.
Например, конечно, недостаточно просто прокомментировать этот код на моем сервере Express:
//app.use(expressSession({
// secret: 'arrete_x_paulette',
// store: new MongoStore({mongooseConnection: mongoose.connection}),
// saveUninitialized: true,
// resave: true,
// cookie: {
// secure: false,
// maxage: 6000000
// },
// proxy: false
//}));
и
//app.use(passport.session());
Итак, что же, используя Passport?
Почему кто-либо когда-либо использовал сеансы, хранящиеся в БД, используя аутентификацию на основе JWT?