Tôi đang sử dụng thư viện flask-login
và tôi chưa thể tìm thấy bất kỳ hướng dẫn hay tài liệu hướng dẫn nào về cách cho phép người dùng đặt lại mật khẩu của họ thông qua email. Tôi có thể xem hướng/tài nguyên nào về cách thực hiện điều này? Một tìm kiếm google toàn diện không tiết lộ bất cứ điều gì hữu ích.Mật khẩu đăng nhập Flask Đặt lại
Trả lời
flask-login
không chăm sóc email khôi phục mật khẩu và những thứ khác như vậy . Chỉ có ở đó để quản lý các phiên và cookie.
Bạn nên sử dụng Flask-Security
để thêm chức năng đặt lại mật khẩu và các tính năng liên quan đến bảo mật phổ biến khác vào bình. Flask-Security sử dụng bình đăng nhập để quản lý các session, nhưng thêm các tính năng khác trên đầu trang để khỏa lấp những tính năng bảo mật:
Email Confirmation
Nếu muốn bạn có thể yêu cầu người dùng mới xác nhận địa chỉ email của họ. Flask-Security sẽ gửi một email đến bất kỳ người dùng mới nào có liên kết xác nhận . Khi điều hướng đến liên kết xác nhận, người dùng sẽ tự động được đăng nhập.Cũng có chế độ xem để gửi lại liên kết xác nhận tới một email cụ thể nếu người dùng xảy ra cố gắng sử dụng mã thông báo đã hết hạn hoặc đã mất email trước đó. Liên kết xác nhận có thể được định cấu hình hết hạn sau một khoảng thời gian được chỉ định.
Password Reset/Phục hồi
đặt lại mật khẩu và phục hồi có sẵn khi người dùng quên hoặc mật khẩu của mình. Flask-Security gửi email cho người dùng bằng liên kết đến lượt xem họ có thể đặt lại mật khẩu của họ. Khi mật khẩu được đặt là , chúng sẽ tự động được đăng nhập và có thể sử dụng mật khẩu mới từ đó trở đi. Các liên kết đặt lại mật khẩu có thể được định cấu hình hết hạn sau một khoảng thời gian được chỉ định là .
Đăng ký người dùng
Flask-Security được đóng gói với chế độ xem đăng ký người dùng cơ bản. Chế độ xem này rất đơn giản và người dùng mới chỉ cần cung cấp địa chỉ email và mật khẩu của họ. Chế độ xem này có thể bị ghi đè [sic] nếu quá trình đăng ký của bạn yêu cầu nhiều trường hơn.
cơ sở logic:
- Tạo hình thức mật khẩu reset với
email
lĩnh vực. - Khi người sử dụng gửi hình thức thì bạn nên:
- check email này trong cơ sở dữ liệu
- tạo tầm thường crypto key ngẫu nhiên bí mật (key tiếp theo chỉ bí mật)
- cửa hàng phím này, dấu thời gian hiện tại và người dùng nhận dạng bộ nhớ cache hoặc cơ sở dữ liệu
- gửi đến email người dùng hoặc sms
- Khi người dùng áp dụng khóa bí mật (ví dụ với url hoặc hình thức đặc biệt), bạn nên:
- xác nhận nó (tồn tại, chưa hết hạn, không được sử dụng trước đó)
- get định danh người dùng
- xóa hoặc đánh dấu như được sử dụng hiện tại khóa bí mật
- cung cấp logic để nhập/tạo mật khẩu mới.
Logic để nhập/tạo mật khẩu có thể khác nhau:
- đăng nhập người dùng và hiển thị form để nhập mật khẩu mới - một lần đăng nhập key dạng
- chương trình nhập mật khẩu so với đăng nhập nếu hợp lệ
- tạo mật khẩu mới và gửi mật khẩu đó tới email của người dùng
- tạo khóa bí mật mới cho biểu mẫu để nhập mật khẩu mới và gửi mật khẩu đó tới email người dùng
- tạo khóa bí mật mới phê duyệt hình thức, gửi qua sms, hình thức chương trình nhập mật khẩu mới và chính khóa bí mật sau đó đăng nhập nếu hợp lệ
Câu trả lời hay. Sử dụng Flask-Security làm cho cuộc sống dễ dàng hơn một chút vì tôi không phải viết bất cứ thứ gì từ đầu, nhưng phương pháp này chắc chắn hữu ích. –
- 1. Rails Mật khẩu chỉ đăng nhập
- 2. hệ thống đăng nhập ít mật khẩu
- 3. Devise - Recoverable (Đặt lại mật khẩu)
- 4. Mysql (MariaDB 10.0.29): Đặt mật khẩu gốc, nhưng vẫn có thể đăng nhập mà không hỏi mật khẩu?
- 5. Đặt lại mật khẩu gốc của MySQL khi mật khẩu hiện tại không được biết
- 6. Đặt lại mật khẩu ASP.NET - vấn đề bảo mật?
- 7. Gặp lỗi khi đặt lại mật khẩu
- 8. Móc đặt lại mật khẩu Wordpress
- 9. Mật khẩu Đặt lại Firebase Swift
- 10. lập mưu Quên mật khẩu cho người dùng đăng nhập
- 11. Đặt lại mật khẩu bằng cách gửi email mật khẩu tạm thời
- 12. Đặt lại trạng thái khôi phục mật khẩu
- 13. Identity Server v3 Custom Page Đặt lại mật khẩu
- 14. .htaccess nhắc nhập mật khẩu
- 15. Tạo mã bí mật để đặt lại mật khẩu
- 16. Đặt lại mật khẩu gốc MySQL bằng XAMPP trên Localhost
- 17. Đăng nhập nhận dạng ASP.NET MVC không có mật khẩu
- 18. Chuỗi mật khẩu đăng nhập Dollar ($) được coi là biến
- 19. đăng nhập từ xa bằng "mstsc/admin" bằng mật khẩu
- 20. Đăng nhập quản trị ColdFusion và khôi phục mật khẩu
- 21. HTML/CSS: Cách nhập "mật khẩu" hiển thị mật khẩu?
- 22. mlab đặt lại mật khẩu cơ sở dữ liệu
- 23. Đặt lại mật khẩu gốc MySQL thành "mặc định" - MAMP
- 24. Mật khẩu đặt lại mật khẩu - nhấp vào liên kết e-mail không hoạt động
- 25. Nhập Mật khẩu vào C
- 26. .NET C# Đặt lại Mật khẩu - Ngẫu nhiên!
- 27. Nhập lại mật khẩu không hoạt động trong Yii2
- 28. Magento: Liên kết đặt lại mật khẩu không hoạt động
- 29. Cách an toàn để đặt lại mật khẩu hoặc cung cấp mật khẩu cũ
- 30. Tôi quên mật khẩu chính Glassfish3, làm cách nào tôi có thể đặt lại mật khẩu?
Điều này hoàn thành những gì tôi muốn, cảm ơn. –