django-nopassword reached 1.0
Posted 03.10.2014 ยท 2 min readI started the this project as way to understand django authentication backends about two years ago. I read a blog post by Ben Brown about password-less login and thought that it would a great case to learn custom django authentication backends.
A lot has changed since then and the project has moved from being an experiment to something useful. I myself use it in production on several sites. I have heard from others who also use it. I hope you all like some of the new features in this release.
The new features since last release
Rename the app to nopassword: This means that from this version installed apps
in django should list nopassword
not django_nopassword
. In addition all imports
need to point to nopassword
not django_nopassword
.
The possibility to customize code delivery:
Most of the code in the EmailBackend
has been moved to a new backend called
NoPasswordBackend
. The latter is not meant to be used on its own, but it will
make it easier to create other backends similar to EmailBackend
. With other
words, it has become easier to send the login codes with other technologies like
sms.
Verification of the user:
django-nopassword uses user.is_active()
to determine whether a user is still
active or not. In this release we moved this into its own method,
NoPasswordBackend.verify_user
, which makes it easier to create your own logic
to verify your users.
Django 1.7 support: Now it is tested and known to work with the released version of Django 1.7. Earlier it had just support for the beta 3.
Migrations: Support for both Django 1.7 migrations and South migrations. To use
South it is necessary to use version the lastest version(1.0), since it is the only
version that looks for migrations in south_migrations
.
The test setup has also been changed to use tox. It makes it a lot easier to test specific django and python versions locally. I have to mention the new multi-dimensional configuration of environments. It makes it easier generate test environments for several python and django versions with all combinations.
If you use django-nopassword on any on your projects please let me know. I would love to hear about it.