MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Hộ chiếu Facebook với JWT

Giải pháp tốt nhất mà tôi tìm thấy cho vấn đề đó là chuyển hướng đến trang mong đợi bằng cookie chứa JWT.

Sử dụng res.json sẽ chỉ gửi một phản hồi json và sẽ không chuyển hướng. Đó là lý do tại sao câu trả lời được đề xuất khác ở đây sẽ không giải quyết được vấn đề tôi gặp phải.

Vì vậy, giải pháp của tôi sẽ là:

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

Sau khi chuyển hướng, bạn có thể đọc cookie một cách an toàn và sử dụng JWT đó như mong đợi. (bạn thực sự có thể đọc cookie trên mỗi lần tải trang, để kiểm tra xem người dùng đã đăng nhập hay chưa)

Như tôi đã đề cập trước đây, có thể chuyển hướng với JWT dưới dạng tham số truy vấn, nhưng nó rất không an toàn. rõ ràng là không an toàn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để kết nối Django Rest-api với MongoDB?

  2. Sửa lỗi "$ pullAll yêu cầu một đối số mảng nhưng đã được cung cấp một đôi" trong MongoDB

  3. Lỗi MongoDB 3.0.5:lỗi tra cứu ký hiệu:ký hiệu không xác định:FIPS_mode_set

  4. 'process.nextTick (function () {throw err;})' - Undefined không phải là một hàm (mongodb / mongoose)

  5. Node js / MongoDB mảng thiết lập bản sao trong javascript