Как я могу использовать passjs и reactjs вместе?

У меня есть 3 вида, (Главная, регистрация, логин), сделанные в responseJs, я хочу использовать паспорт в своем проекте, но я не знаю, как это сделать, у меня есть паспорт, и он работает с URL.

Что я могу сделать для управления сеансом и данными пользователя, как в ejs или jade?

Ответ 1

Посмотрите на основной пример здесь

Ответ 2

вам необходимо создать функцию промежуточного программного обеспечения, в которой поставить код

function ensureAuthenticated(req, res, next){
  if(req.isAuthenticated()) { 
    return next() 
  } else {
    res.redirect('/')
  }
}

а затем использовать в маршрутизаторе

app.get('/account', ensureAuthenticated, function(req, res){
  // here return some data
})

Из React, вероятно, вам нужно сделать запрос на выборку

fetch('https://your_url/account', {
  credentials: 'include'  
})

Что-то вроде этого, вы должны сделать запрос ajax на сервер или с помощью socket.io или websockets

Ответ 3

Вам понадобится паспорт, но в фоновом режиме с аутентификацией пользователей. Что-то с node.js + express.js + паспорт + someDB.

Вероятно, немного больше того, что вы просите, но вы можете использовать feathersjs, который поставляется с этими встроенными модулями.

С FeathersCli вы получаете аутентификацию пользователя/пароля с помощью JWToken за считанные секунды (после установки): feathers generate app затем feathers generate authentication

Ответ 4

Вы можете использовать passport.js с node.js, а также jsonwebtoken, я лично использую это очень простое в написании и довольно безопасное и легко используемое для взаимодействия с реагировать или любым другим фреймворком. Лучше всего это backend: → node.js + passport.js + jsonwebtoken frontend: → реагировать/любой другой фреймворк + redux, он работает действительно круто.