Once the necessary changes have been made to make NAV's user model compatible with Django's user model, and authenticate backends have been created to replace the functionality of NAV's login flow, the new login flow can actually be implemented:
do_login() should use the Django auth mechanism rather than the legacy nav.web.auth.authenticate() function.