我正在创建一个验证电子邮件用户应用程序,顾名思义,它可能建议在激活用户的帐户之前验证用户的电子邮件。
我在许多教程中看到他们使用以下代码来创建用于帐户激活的自定义令牌生成器:
class AccountActivationTokenGenerator(PasswordResetTokenGenerator):
def _make_hash_value(self, user, timestamp):
return text_type(user.is_active) + text_type(user.pk) + text_type(timestamp)
token_generator = TokenGenerator()
Run Code Online (Sandbox Code Playgroud)
但是,我不明白为什么我应该使用它而不是默认的PasswordResetTokenGenerator。
我尝试同时实现自定义和默认,结果是相同的。为什么他们建议继承PasswordResetTokenGenerator并创建一个AccountActivationTokenGenerator
.
如果我对两个任务使用相同的令牌生成器,是否存在任何安全问题?