django_two_factor_auth を正常にインストールしました。トークン ログイン、バックアップ トークン、および Twilio 経由の SMS はすべて正常に動作しているようです。ただし、私のユーザーは、ログインのたびにトークンを入力する必要があることを容認しません。
私のニーズは、以下で説明されているものと似ています: https://github.com/Bouke/django-two-factor-auth/issues/56
検証が成功した後、OTP 検証を 30 日間延期するオプションをユーザーに提供したいと考えています。
このために、django_agent_trust をインストールしました。django_agent_trust がインストールされている場合、AuthenticationTokenForm にパッチを適用して BooleanField を追加しました。
(two_factor/forms.py、AuthenticationTokenForm 内)
try:
from django_agent_trust import trust_agent
trust_this_agent = forms.BooleanField(label=_("Trust this browser for 30 days"),
required=False)
except:
pass
また、django_agent_trust の django_agent_trust.trust_agent API を使用して、is_trusted フラグを無条件に設定およびリセットすることができました。
問題は、ユーザーが選択した BooleanField の値をどこで取得するかを考え出すことです。フォーム ウィザードのどこかで迷ってしまいました。
あなたの議論が理にかなっていると思うなら、私の全体的なアプローチの知恵を疑問視する答えを受け入れます. 私がここに欠けているものはありますか?