F.A.Q.¶
Q: Can I see a preview?
A: Yes you can: Flask-User Demo
Q: What are the differences between Flask-User and Flask-Security?
A: The main reason why I wrote Flask-User was because I found it difficult to customize
Flask-Security messages and functionality (in 2013) and because it didn’t offer
Username login, multiple emails per user, and Internationalization.
Flask-Security has been around since at least March 2012 and additionally offers Json/AJAX, MongoDB, Peewee, and Basic HTTP Authentication.
Flask-User has been designed with Full customization in mind and additionally offers Username login and Internationalization. It exists since December 2013 and contains 661 statements with a 98% test coverage.
Q: Can users login with usernames and email addresses?
A: Yes.
Flask-User can be configured to enable usernames, email addresses or both.
If both are enabled,
users can log in with either their username or their email address.
Q: Does Flask-User work with existing hashed passwords?
A: Yes. It supports the following:
- passwords hashed by any
passlib
hashing algorithm (via a config setting)- passwords hashed by Flask-Security (via a config setting)
- custom password hashes (via custom functions)
Q: What databases does Flask-User support?
A: Any database that SQLAlchemy supports (via SqlAlchemyAdapter)
and other databases (via custom DBAdapters)
Flask-User shields itself from database operations through a DBAdapter. It ships with a SQLAlchemyAdapter, but the API is very simple, so other adapters can be easily added. See SQLAlchemyAdapter().