Разница между созданием собственного генератора токенов Django и использованием генератора токенов по умолчанию PasswordResetTokenGenerator
Я создаю приложение для проверки пользователей электронной почты, которое, как можно предположить из названия, проверяет электронную почту пользователей перед активацией их учетных записей.
Я видел во многих руководствах, что они используют следующий код для создания пользовательского генератора токенов для активации учетной записи:
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()
Однако я не понимаю, почему я должен использовать его вместо стандартного PasswordResetTokenGenerator.
Я пытался реализовать оба варианта, пользовательский и по умолчанию, и результат один и тот же. Почему они предлагают наследовать PasswordResetTokenGenerator и создать AccountActivationTokenGenerator
.
Существует ли проблема безопасности, если я использую один и тот же генератор токенов для двух задач?