Django-ОТП: я должен увеличить счетчик при создании токена Hotp? - PullRequest
0 голосов
/ 05 декабря 2018

Я использую django-otp для генерации hotp, я еще не нашел документы, чтобы правильно генерировать токен hotp

, поэтому я прочитал из метода verify_token в HOTPDevice классе модели, узнал, как проверитьтокен

if hotp(key, counter, self.digits) == token:
    verified = True
    self.counter = counter + 1
    self.save()

из вышесказанного я знаю, что могу создать токен с помощью функции hotp.

Итак, я использую функцию hotp для генерации токена, но я замечаю это неоднократновозвращает тот же токен, если он не подтвержден.Так должен ли я увеличивать counter при генерации?

source: HOTPDevice source из django-otp

1 Ответ

0 голосов
/ 06 декабря 2018

Итак, я нашел цитату из RFC 4226 - HOTP ,

Клиент HOTP (аппаратный или программный токен) увеличивает свой счетчик и затем вычисляет следующее значение HOTP клиента HOTP

Итак, я должен сначала увеличить counter, сохранить его на объекте, а затем вернуть сгенерированный токен

...