jazzband / django-two-factor-auth

Complete Two-Factor Authentication for Django providing the easiest integration into most Django projects.
MIT License
1.71k stars 448 forks source link

issue #145 fix to use any static backup device instead of strictly named #560

Open nnseva opened 2 years ago

nnseva commented 2 years ago

Description

Now any static OTP device can be used as a backup OTP device instead of one strictly having the name 'backup'.

Motivation and Context

The django_otp.plugins.otp_static package has a management command addstatictoken to create a special backup static token that could be used for the OTP backup process.

As described in issue #145 the addstatictoken creates a static device named differently from the static device default name used in the two_factor package, if no other backup devices are present for the user yet. Because of that, no backup button is shown while login in when the backup code has been created by the addstatictoken management command.

How Has This Been Tested?

Two unit tests have been created altering backup static OTP device names in existing ones.

You can check working the patch yourself. Create your own project using the package, and look at the login process. An unpatched package doesn't show the backup button if the backup code has been created by the addstatictoken management command, while the patched one does.

Types of changes

Checklist: