Я новичок в Flask и JWT и искал способы решить эту проблему.
Flask JWT работает плавно, когда вы входите в систему и получаете токен. токен также распознается при последующих запросах.
Проблема в том, что если пользователь снова вызовет метод POST / auth / login, я получаю запрещенную ошибку. Я надеюсь, что он сгенерирует новый токен и вернет его пользователю. тогда найду способ заблокировать старые.
try:
loggedin = sec.authenticate(__username,__password)
#print(loggedin)
if not loggedin:
return jsonify({"context":"Invalid Username and password"}),401
if(loggedin['active'] == 1):
#log.logger.info("User authenticated")
session['logged_in'] = True
token = jwt.encode({
'user':__username,
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=30)
},
app.config['SECRET_KEY'])
return jsonify({'token':token.decode('utf-8')})
else:
return jsonify({"context":"Unable to Authorize User"}),401
except: #t goes this path on the second log in
**return jsonify({"context":"Unable to log user in"}),401**