我正在使用 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 向烧瓶发送请求。谢谢你帮助我!!