sql >> Database >  >> NoSQL >> MongoDB

Facebook-paspoort met JWT

De beste oplossing die ik voor dat probleem vond, zou zijn om door te verwijzen naar de verwachte pagina met een cookie die de JWT bevat.

res.json gebruiken zou alleen een json-antwoord verzenden en niet omleiden. Daarom zou het andere voorgestelde antwoord hier het probleem dat ik tegenkwam niet oplossen.

Dus mijn oplossing zou zijn:

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
});

Na omleiding kunt u de cookie veilig lezen en die JWT gebruiken zoals verwacht. (u kunt de cookie daadwerkelijk lezen bij elke pagina die wordt geladen, om te controleren of een gebruiker is ingelogd)

Zoals ik eerder al zei, is het mogelijk om om te leiden met de JWT als een queryparam, maar het is erg onveilig. Het gebruik van een cookie is veiliger en er zijn nog steeds beveiligingsoplossingen die u kunt gebruiken om het nog veiliger te maken, in tegenstelling tot een queryparam die is duidelijk onveilig.



  1. Hoe milliseconden tot nu toe te converteren in mongodb-aggregatie?

  2. Robo 3T-fout:netwerk is niet bereikbaar

  3. MongoDB $setOnInsert

  4. Hoe kan ik met behulp van het Mongo C#-stuurprogramma een array van aangepast object serialiseren om het op te slaan?