Обновление скрытого токена WTForm по истечении срока действия SocketIo - PullRequest
0 голосов
/ 18 февраля 2019

Я занимаюсь разработкой приложения, которое имеет форму, но мне нужно, чтобы форму можно было использовать в течение длительного времени, потому что приложение работает в статическом планшете, прикрепленном к стене.Я использую скрытый тег, поэтому по истечении срока действия страница должна обновляться вручную.Я использую сокеты, поэтому я подумал, что вместо того, чтобы снимать время истечения токенов, я могу отправить новый токен через сокет, когда наступит время истечения.Проблема с отправкой нового токена заключается в том, как и если я должен это сделать ...

Я подумал, что решение будет отправлять клиентам новые токены каждые 30 минут:

Он начинается с отправки 2токены при рендеринге (вместо просто скрытого тега).Один из них (тот, который не является токеном wtform) использует jwt и является результатом шифрования datetime, который является datetime, когда фактический скрытый тег был обновлен (при рендеринге будет создан по запросу, так что это будет время рендеринга)).Второй токен - это токен самого скрытого тега.

Каждые 30 минут клиентская сторона отправляет запрос с маркером jwt обработчику сокета, который проверяет, что прошло не менее 30 минут с даты и временив токене, а затем испустить 2 токена (новый токен wtforms и обновленную зашифрованную дату и время для использования в следующем излучении на стороне клиента), таким образом, я запрещаю некоторым клиентам редактировать внешний интерфейс для отправки тысяч запросов на новыетокены, которые, я думаю, могут быть проблематичными (возможно, нет).

Я не думаю, что вставка кода была бы очень полезной, потому что у меня есть теоретический вопрос о работе логики кода больше, чем сам код.

Мой ожидаемый результат - иметьрабочая форма интерфейса, которая использует токен для предотвращения csrf без деактивации времени истечения токенов.

МОИ ВОПРОСЫ:

существует ли реальная необходимость использовать этот зашифрованный токен jwt вместо того, чтобы просто давать новый токен каждому клиенту, запрашивающему один?

есть лилучшее решение проблемы у меня больше, чем я думал?

...