Django all_auth でパスワードリセット URL を作るコードです。
生のパスワードを扱うのと同レベルのリスクがあるので運用には最新の注意を払うこと。
from django.contrib.auth import get_user_model
from django.urls import reverse
from allauth.account.forms import default_token_generator
from allauth.account.utils import user_pk_to_url_str
user = get_user_model().objects.get(id=user_id)
temp_key = default_token_generator.make_token(user)
path = reverse(
"account_reset_password_from_key",
kwargs=dict(uidb36=user_pk_to_url_str(user), key=temp_key),
)
print('https://www.example.com' + path)
コメント