Tôi hiểu sự khác biệt giữa xác thực Cơ bản và Digest của Passport.js, nhưng sự khác biệt giữa chiến lược địa phương và Cơ bản hoặc Thông báo là gì? Trong cả ba, bạn nhập tên người dùng và mật khẩu. Chiến lược cơ bản có phải là kiểu người dùng & xác thực mật khẩu không? Vui lòng làm rõ.Sự khác nhau giữa chiến lược Cơ bản và Digest cục bộ trong hộ chiếu
Trả lời
Nếu tôi hiểu chính xác, sự khác biệt giữa chiến lược Local, Basic và Digest trong Passport.js rất tinh tế nhưng quan trọng. Dưới đây là tóm tắt:
Local (passport-local)
chiến lược địa phương Hộ chiếu là một tên người dùng và mật khẩu cơ chế thẩm định đơn giản. Nó tìm thấy mật khẩu của người dùng đã cho từ tên người dùng (hoặc số nhận dạng khác) và kiểm tra xem chúng có khớp không. Sự khác biệt chính giữa chiến lược địa phương và hai chiến lược khác là việc sử dụng các phiên đăng nhập liên tục. Chiến lược này nên được sử dụng qua SSL/TLS.
Basic (passport-http)
Chiến lược cơ bản được thực hiện bởi Passport trông gần giống với chiến lược của địa phương, với một sự khác biệt tinh tế. Chiến lược cơ bản là được sử dụng với các điểm cuối API nơi kiến trúc là không trạng thái. Do đó, phiên là không phải bắt buộc nhưng có thể được sử dụng. Chiến lược này cũng nên sử dụng SSL/TLS. Lá cờ phiên có thể được thiết lập như sau:
app.get('/private', passport.authenticate('basic', { session: false }), function(req, res) {
res.json(req.user);
});
Digest (passport-http)
Chiến lược tiêu hóa là một cách tinh tế khác nhau hơn so với hai chiến lược khác ở chỗ nó sử dụng một mô hình thử thách phản ứng đặc biệt để tránh gửi mật khẩu trong văn bản rõ ràng. Chiến lược này sẽ là một giải pháp tốt khi SSL/TLS không khả dụng.
Đây là một bài viết tốt về cơ bản so với Digest: How to Authenticate APIs
Lưu ý: Cả ba chiến lược thực hiện hỗ trợ phiên bắt buộc. Hai chiến lược hộ chiếu-http phép bạn thiết lập cờ phiên trong khi hộ chiếu docs nói điều này, liên quan đến chiến lược hộ chiếu thuộc địa phương:
Lưu ý rằng việc kích hoạt hỗ trợ phiên là hoàn toàn tùy chọn, mặc dù nó được khuyến khích đối với hầu hết các ứng dụng.
Nếu bạn sử dụng Hộ chiếu Chiến lược địa phương: - phiên được thiết lập, vì vậy bạn không phải gửi tín dụng cho mỗi yêu cầu; - tên người dùng và mật khẩu được cung cấp trong tiêu đề "tên người dùng" và "mật khẩu" theo mặc định;
Nếu bạn sử dụng chiến lược Passport Basic/Digest: - phiên không được sử dụng, vì vậy bạn phải cung cấp thông tin xác thực tại mọi cuộc gọi API; - tên người dùng và mật khẩu/băm được chứa trong tiêu đề "Ủy quyền";
- 1. Hộ chiếu - ghi đè chiến lược động
- 2. Hướng dẫn toàn diện về thiết lập chiến lược cục bộ hộ chiếu nodejs?
- 3. Sự khác biệt giữa Hộ chiếu và JWT?
- 4. Kiểm tra Hộ chiếu Facebook Chiến lược Oauth
- 5. Sự khác nhau giữa chiến lược OmniAuth Identity và Devise là gì?
- 6. sự khác biệt cơ bản giữa elseif và khác nếu
- 7. Vượt qua thông tin người dùng trong các tuyến đường từ các chiến lược Hộ chiếu
- 8. trong C# sự khác biệt giữa mẫu chiến lược và đại biểu là gì?
- 9. Sự khác biệt giữa mẫu Chiến lược và mẫu Ủy quyền
- 10. Sự khác biệt giữa các thuật toán di truyền và chiến lược tiến hóa là gì?
- 11. Sự khác nhau giữa Message Digest, Mã xác thực thư và HMAC là gì?
- 12. Sự khác nhau giữa sqlplus và sqldeveloper?
- 13. Khái niệm cơ bản của việc tham chiếu lược đồ xsd từ lược đồ khác
- 14. Sự khác nhau chính giữa Flink và Storm là gì?
- 15. Sự khác nhau giữa khai báo, sắp xếp và biến cục bộ trong Bash
- 16. Hộ chiếu & JWT & Chiến lược của Google - Tắt phiên & res.send() sau khi gọi lại google
- 17. Sự khác nhau giữa let và var bên trong setTimeout?
- 18. Sự khác biệt giữa các chiến lược cắt xén, giao dịch và xóa cơ sở dữ liệu
- 19. Sự khác nhau giữa "triển khai mvn" với repo cục bộ và "mvn install" là gì?
- 20. sự khác biệt giữa mô hình khách truy cập và chiến lược là gì?
- 21. Sự khác nhau giữa System.Web.UI.HtmlControls và System.Web.UI.WebControls
- 22. Sự khác nhau giữa biến thành viên và biến cục bộ là gì?
- 23. Sự khác nhau giữa Bố cục và Vùng chứa trong Android là gì?
- 24. Sự khác nhau giữa JPA và JPA2
- 25. Sự khác nhau giữa! = Và =! trong Java?
- 26. Sự khác nhau giữa | và || trong MATLAB?
- 27. Sự khác nhau giữa `% trong%` và `== '
- 28. Sự khác nhau giữa 'PowerShellVersion` và' PowerShellHostVersion`
- 29. Sự khác nhau giữa .Equals và ==
- 30. Sự khác nhau giữa StreamReader.Read và StreamReader.ReadBlock
"Chiến lược cơ bản sẽ được sử dụng với các điểm cuối API nơi kiến trúc là không trạng thái" - bạn có ý nghĩa gì bởi quốc tịch? Bạn có thể cho một số ví dụ?Nếu tôi hiểu đúng, chiến lược địa phương chỉ là về "Nếu bạn đã hỗ trợ phiên người dùng, ví dụ để lưu các biến tạm thời mỗi phiên, thì cookie đã xác định phiên và không cần phải gửi tên người dùng và mật khẩu mỗi lần ". – Oren
Chiến lược cơ bản sử dụng tiêu đề 'xác thực' để xác thực xem https://github.com/jaredhanson/passport-http/blob/master/lib/passport-http/strategies/basic.js#L68 – Vadim
@Vadim Thanks !! ! u tiết kiệm cuộc sống của tôi :) –