0

我正在使用 pytotp 和烧瓶。

这是我的基本代码

@app.route('/get-otp-secret',methods=['POST'])
def getOTPSecret():

    return make_response(jsonify(generate_otp_secret()),201)

@app.route('/verify-otp',methods=['POST'])
def verifyOTP():
    print(request.form)
    otp,secret = request.form.get('otp'),request.form.get('secret')
    return jsonify(verify(otp,secret))

def generate_otp_secret():
    secret = pyotp.random_base32()
    t = pyotp.TOTP(secret,interval=60)
    otp = t.now()
    print(t.verify(otp))
    return {
        'secret':secret,
        'otp':otp
    }

def verify(otp,secret):
    if pyotp.TOTP(secret).verify(otp):
        return True
    return False


现在,为了检查我的秘密和 otp 是否与生成的相同,我打印了它们.. 一切都是一样的。但是 pytotp 没有验证 otp。 我的方法有问题请告诉我实现pyotp的正确方法。我正在从改造 android studio java 向烧瓶发送请求。谢谢你帮助我!!

4

0 回答 0