Приложение Python Flask - ведущие нули в ошибке TOTP. (Python 2.7)

Я написал приложение python flask, в котором приложение генерирует totp для проверки. (Python 2.7)

Я использую библиотеку onetimepass для проверки Totp по секрету приложения. код:

    json_data=request.get_json()
    my_token=json_data['OTP']
    is_valid = otp.valid_totp(token=my_token, secret=my_secret)

Однако проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда totp идет с ведущими нулями, он превращается в восьмеричное число. OTP всегда считается неправильным, и пользователь не может войти в систему.

Как в таком случае сохранить эти ведущие нули? любые фрагменты кода или инструкции будут очень полезны.


person Nik    schedule 26.09.2016    source источник
comment
Разве жетон не всегда число? (пока магии нет)   -  person tuergeist    schedule 26.09.2016
comment
Это всегда число, но ведущие нули превращают его в восьмеричное число. См .: stackoverflow.com/a/1548437/4651101   -  person Nik    schedule 26.09.2016
comment
Я знаю, это обычное дело. Я хотел сказать, что здесь не должно быть недесятичных чисел. Подайте в десятичном формате один раз, нет ведущего 0, и он должен работать (по крайней мере, для меня)   -  person tuergeist    schedule 26.09.2016


Ответы (1)


Ответ был прост, поскольку my_token приходил как строка, и я преобразовывал ее в число. Добавление этого перед преобразованием в число помогло:

my_token.lstrip("0") #removes leading characters

person Nik    schedule 07.10.2016