У меня есть простая система входа в систему, которую я сделал с помощью flask. После входа в систему я возвращаю пользователю тип токена, с помощью которого пользователь может отправлять сообщения, такие как чат, по другому маршруту.
Я хотел бы истечь этот токен через некоторое время (например, минуту),Срок действия токена истекает, и пользователю придется снова войти в систему, чтобы получить новый токен.
Поэтому мой вопрос: как вы удаляете токен или что-то в этом роде по истечении срока действия?
После того, как пользователь вошел в систему, я сохраняю время входа в систему в таком формате:
login_time[datetime.datetime.now()] = data['username']
, а затем я подумал сделать что-то подобное до или в чате:
for time, user in login_time.items():
if datetime.datetime.now() >= time + datetime.timedelta(seconds=30):
del login_time[time]
Но я не знаю, где его поставить и как он будет работать.
это часть маршрута чата:
@app.route('/chat', methods=['POST'])
def chat():
try:
data = request.get_json()
username = verify_token(data['token']) # Verifying if token is in tokens list
validate_message(data['message']) # Verifying if message is not empty
chats.append(username + ": " + data['message'])
for i, u in login_time.items(): # Not sure about this part
if i != u:
abort(400, 'Your token is expired, please login again')
return jsonify(chats)