Tôi đang sử dụng PassportJS với ExpressJS.Cập nhật chi tiết người dùng đã đăng nhập trong phiên
Tôi cần cập nhật chi tiết người dùng đã đăng nhập. Trong khi tôi cập nhật điều này trong DB, làm thế nào để cập nhật nó trong phiên quá để request.user chứa các chi tiết người dùng cập nhật?
Tức là, sau khi cập nhật cơ sở dữ liệu, làm cách nào để cập nhật thông tin phiên trên người dùng?
Tôi đã thử trực tiếp chỉ định chi tiết đã cập nhật cho request.user
nhưng nó không hoạt động. Tôi sau đó đã thử request.session.passport.user
- điều này làm việc nhưng có một sự chậm trễ khoảng 5 đến 10 giây trước khi nó được cập nhật trong request.user quá.
Có chức năng nào tôi cần gọi để cập nhật thông tin người dùng được lưu trữ trong phiên không? Hoặc có một số đối tượng khác mà tôi có thể cập nhật khi thay đổi không có độ trễ
Cảm ơn bạn đã chỉ ra điều này. Đây có vẻ là cách chính xác để cập nhật dữ liệu phiên vì 'đăng nhập' gọi hàm serializer hộ chiếu cập nhật dữ liệu người dùng được lưu trữ trong phiên. Tuy nhiên, vì lý do nào đó, tôi đã gặp phải sự chậm trễ trong việc cập nhật phiên để mã tương đương 'res.send (200)' trong ứng dụng của tôi được đặt bên trong một hàm 'setTimeout' trong 2 giây - điều đó đã giúp. – callmekatootie
Rất lạ. Vì vậy, nếu bạn làm hai giao diện điều khiển như trong ví dụ của tôi, cái thứ hai vẫn hiển thị dữ liệu cũ? Bạn sẽ nghĩ rằng khi req.login gọi lại xảy ra, mọi thay đổi không đồng bộ sẽ được thực hiện. Vâng, nếu một 2 giây chờ đợi sửa chữa nó mỗi lần, bạn tốt. – chichilatte