MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Facebook-паспорт с JWT

Най-доброто решение, което намерих за този проблем, би било пренасочване към очакваната страница с бисквитка, която съдържа JWT.

Използване на res.json ще изпрати само json отговор и няма да пренасочи. Ето защо другият предложен отговор тук няма да реши проблема, който срещнах.

Така че моето решение би било:

app.get('/auth/facebook/callback',
passport.authenticate('facebook', {
    session: false,
    successRedirect : '/',
    failureRedirect : '/'
}), (req, res) => {
    var token = req.user.jwtoken;
    res.cookie('auth', token); // Choose whatever name you'd like for that cookie, 
    res.redirect('http://localhost:3000'); // OR whatever page you want to redirect to with that cookie
});

След пренасочване можете безопасно да прочетете бисквитката и да използвате този JWT според очакванията. (всъщност можете да четете бисквитката при всяко зареждане на страница, за да проверите дали даден потребител е влязъл)

Както споменах преди, възможно е пренасочване с JWT като параметър на заявка, но е много опасно. Използването на бисквитка е по-безопасно и все още има решения за сигурност, които можете да използвате, за да го направите още по-безопасно, за разлика от параметър на заявка, който е явно несигурен.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Може ли $isolated да спре да чете променени документи в естествен ред при многократна актуализация?

  2. MongoDB изтрива много бавно

  3. MongoDB Извличане на документи бавно (използвано индексиране)

  4. Може ли mongo да повиши данни от масива?

  5. Не може да се свърже с MongoDB atlas база данни