Ну, я только что прошел базовый курс c Backend-разработки с Nodejs, и можно сказать, что я новичок в мире веб-разработки. В одном из модулей курса я узнал, как защитить свои внутренние маршруты с помощью Json веб-токенов, и теперь я начинаю разрабатывать базовый c чат, используя reactjs для внешней стороны и Nodejs для разработки. мой бэкэнд. Но теперь, когда я думаю о безопасности страницы, мне приходит в голову множество вопросов, которые не были объяснены в курсе. Я планировал проверить доступ пользователя к маршрутам страницы с логином, отправляющим JWT. Поэтому, учитывая этот факт, у меня следующие вопросы:
- Как получить токен из внешнего интерфейса?
Курс, который я прошел, был полностью сосредоточен на серверной части, поэтому я работал с почтальоном, отправляющим запросы и хранящим данные об ответах в переменных среды. Поэтому я не знаю, как получить токен из внешнего интерфейса (я не знаю, могу ли я получить его с любой стороны кеш-хранилища, или мне нужно сохранить его в базе данных или что-то в этом роде).
Как отозвать токен?
Ну, я знаю, что могу указать время истечения срока действия токена, но в этом случае я не хочу, чтобы он истекал, если пользователь не выйдет из системы страница. Я читал на некоторых сайтах, что невозможно удалить его так просто, но они рекомендуют удалить токен со стороны клиента и со стороны сервера, сохранив токен в запрещенном списке, который содержит токены, срок действия которых не истек. но они больше не доступны.
Последний вопрос, как обновить sh jwt?
Ну, я не знаю, правильно ли был сформулирован вопрос, но вот он, и я думаю, что он связан с второй. Представьте, что я не хочу, чтобы токен длился вечно, вместо этого я хочу, чтобы срок действия токена истекал через одну неделю, если пользователь не входит в течение всей недели, но как только пользователь входит, срок действия обновляется. Короче говоря, я хочу, чтобы пользователь мог оставаться в журнале, если он не заходит на страницу в течение одной недели. Что было бы наиболее практичным?
Не говоря уже о том, спасибо за чтение, и я был бы признателен за любые подсказки или примеры кода, которые помогут вам разрешить мои вопросы. Спасибо.