Tôi đã thực hiện ứng dụng nodejs đơn giản bằng cách sử dụng nodejs + express. Bây giờ tôi muốn làm cho xác thực người dùng. Tôi muốn thực hiện xử lý phiên bằng cách sử dụng mongoose. Bạn có thể tư vấn cho một số ví dụ không?Làm cách nào để thực hiện xác thực với Node.js, Express và Mongoose?
Trả lời
Một số liên kết hữu ích:
how to implement login auth in node.js
creating registration and login form in node.js and mongodb
Ngoài ra quản lý phiên không được thực hiện bởi Mongoose, nhưng bằng cách kết nối-MongoDB hoặc kết nối-redis. Bạn có thể kiểm một ví dụ về cách làm auth sử dụng và quản lý phiên làm việc trong một ứng dụng thực tế ở đây:
https://github.com/alexyoung/nodepad/blob/master/app.js
giải thích sâu hơn cho các ứng dụng mà bạn có thể tìm thấy ở đây: http://dailyjs.com/tag/lmawa hoặc http://dailyjs.com/2010/12/06/node-tutorial-5/
Chỉ cần sử dụng mongoose- auth by Brian Noguchi https://github.com/bnoguchi/mongoose-auth
Đó là một giải pháp giảm cho câu hỏi của bạn, nó được ghi chép và mở rộng.
EDIT
mongoose-auth
không còn được duy trì. Nếu bạn cần làm cho nó hoạt động với các phiên bản mới hơn của mongoose (v3.xx) và express (tức là> v3.xx), đây là một đoạn trích từ một tập tin package.json
Tôi hiện đang sử dụng trong sản xuất (It's hacky but it công trình):
"everyauth": "https://github.com/bnoguchi/everyauth/tarball/express3",
"mongoose-3x-types": "~1.0.5",
"mongoose-auth": "https://github.com/cbou/mongoose-auth/tarball/everymodule-fix",
tôi bạn đang bắt đầu một dự án mới không sử dụng mongoose-auth
, thay vì thử passport. Nó cung cấp các chức năng tương tự, nó rất linh hoạt, tuy nhiên nó có một api khác nhau. Đó là một phần của khung công tác MV locomotive và do đó nó được duy trì tích cực.
tôi đã đăng một ví dụ hoàn chỉnh của một hệ thống xác thực hoàn toàn sử dụng mongoose + expressjs trên đây, trong trường hợp bạn muốn có một cái nhìn:
Simple login page in nodejs using express and passport with mongodb
Chỉ cần thả chải SO và thấy điều này. Mongoose-auth là tuyệt vời, nhưng nó đã không được cập nhật trong mãi mãi và vì nó ngồi nó có rất nhiều mã không dùng nữa. – Swordfish0321
rất đúng, có vẻ như dự án không còn được duy trì nữa. AFAIK, Việc sử dụng lib hiện tại là [hộ chiếu] (https://github.com/jaredhanson/passport) –
đã cập nhật câu trả lời –