MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Paspor Facebook dengan JWT

Solusi terbaik yang saya temukan untuk masalah itu adalah mengarahkan ulang ke halaman yang diharapkan dengan cookie yang menyimpan JWT.

Menggunakan res.json hanya akan mengirim respons json dan tidak akan mengarahkan ulang. Itu sebabnya jawaban lain yang disarankan di sini tidak akan menyelesaikan masalah yang saya temui.

Jadi solusi saya adalah:

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

Setelah pengalihan, Anda dapat membaca cookie dengan aman dan menggunakan JWT itu seperti yang diharapkan. (Anda benar-benar dapat membaca cookie pada setiap pemuatan halaman, untuk memeriksa apakah pengguna telah masuk)

Seperti yang saya sebutkan sebelumnya, dimungkinkan untuk mengarahkan ulang dengan JWT sebagai parameter kueri, tetapi sangat tidak aman. Menggunakan cookie lebih aman, dan masih ada solusi keamanan yang dapat Anda gunakan untuk membuatnya lebih aman, tidak seperti parameter kueri yang jelas tidak aman.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ubah string menjadi angka dalam proyeksi MongoDB

  2. Bagaimana cara mengabaikan nol saat membongkar dokumen MongoDB?

  3. Jumlah pengembalian agregat MongoDB 0 jika tidak ada dokumen

  4. Bidang tidak ditampilkan dalam agregasi luwak

  5. Cara Menginstal MongoDB 4.2 pada sistem RedHat/ CentOS 7