Post #230
20
👨💻 Вышло завести OLED экранчик, запустил на нём Game of Life, хех.
- 🔥 2
КО 







⚙️ Реализация Refresh Token
access и refresh токенов.access_token истёк, вызывается метод RefreshSessionAsync (4) у UserSessionService, который и запускает процесс ротации.🚨 1. Invalid
✅ 2. ValidCurrent
⏳ 3. ValidGracePeriod
🔐 Refresh Token Rotation
NetWalker есть пользователи и вся сопутствующая логика авторизации.access_token), который сервер генерирует на небольшое время. Как только время жизни истекает, токен становится невалидным и юзера по идее должно выкинуть из системы.access_token со сроком жизни на месяц, но если его перехватят или украдут, то злоумышленник получит полный доступ к аккаунту на этот самый месяц.refresh токеном и его обязательная ротация.access_token, сервер генерирует долгоживущий refresh_token (например, на 30 дней) и сохраняет его в базу данных.access_token. Сервер быстро проверяет подпись: если всё ок, запрос проходит дальше.access_token заканчивается срок, клиент делает отдельный запрос на эндпоинт обновления.refresh_token с записью в базе данных. Если всё сходится, значит, запрос пришёл от реального владельца.access и refresh токенов, а старый рефреш токен сразу аннулирует.refresh_token всё-таки украли?refresh_token, сервер сразу видит нестыковку. Это явный сигнал о краже или повторном использовании, поэтому сервер моментально рубит всю сессию (аннулирует всю цепочку токенов пользователя) и принудительно требует залогиниться заново.refresh_token необязательно делать в формате JWT, это может быть просто криптографически стойкая случайная строка.refresh_token, а не сам токен в чистом виде.




сервер выключен 🛑.

💬 SocketChat

Блокировка GitHub?




