Разница между созданием собственного генератора токенов 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.

Существует ли проблема безопасности, если я использую один и тот же генератор токенов для двух задач?

Вернуться на верх