Không, họ là hai thứ riêng biệt và họ không mâu thuẫn mà khác. Hơn nữa, passport.session
phải được sử dụng sau express.session
để hoạt động bình thường.
express.session
phần mềm trung gian được sử dụng để truy xuất phiên người dùng từ kho dữ liệu (như Redis). Chúng tôi có thể tìm thấy đối tượng phiên vì Id phiên được lưu trữ trong cookie, được cung cấp cho máy chủ theo mọi yêu cầu.
Sau đó, mục đích của phần mềm trung gian passport.session
là để deserialize đối tượng người dùng từ phiên sử dụng chức năng passport.deserializeUser
(mà bạn xác định trong cấu hình hộ chiếu của mình). Khi người dùng xác thực chính nó lần đầu tiên, đối tượng người dùng của nó được tuần tự hóa và lưu trữ trong phiên. Trên mỗi yêu cầu sau, phần mềm trung gian deserialize người dùng và populates req.user
đối tượng.
Kiểm tra Passpot Configure Guide và câu trả lời SO này: What does passport.session() middleware do? để biết thêm thông tin.