
Hi folks!
As you probably know, Mozilla Persona is going away very soon, and we had plans to migrate our web authentication to the django-allauth library so we could support local accounts properly. These last weeks I've been working on that and my work is almost complete.
I've done some preliminary tests in situ and I'd like to add more unit tests, but I think the branch can be merged now so you guys can take it into account when you write merge requests. It's quite a big change: it introduces a new python package, django-mailman3, in order to share code between HyperKitty and Postorius. The Allauth library handles all the login and signup workflow, including the verification of emails, it handles the login using social account providers but it can also add those accounts to existing Django users, etc. It's pretty neat.
I've also used its email verification system to replace Postorius' internal verification workflow. Django-allauth supports multiple email addresses per user with a verified flag, so I've setup some signal handlers to sync them with Mailman's users and addresses. It will make things much easier for us. A big part of the job was also to adapt the templates to our design.
The creation of django_mailman3 was also the opportunity to share more code between HyperKitty and Postorius (there was already some duplicated code) and work on the integration. I'm pretty happy with the result.
It's a pretty big change but we need to move away from Persona before it's taken down and obviously before 3.1, so I think it's neccessary, and better to have it sooner rather than later. If there's no strong opposition I'll merge the branches later today or tomorrow.
Cheers! Aurélien
participants (1)
-
Aurelien Bompard