Различные туториалы рассказывают как это не страшно, потому что когда настоящий юзер попробует его заюзать, то он якобы станет невалиден. Но ведь хакер после его использования успеет получить новую пару акцес+рефреш токенов! Получается у хакера останется бесконечно переуспользуемая цепочка (типо, воторого логина), и у юзера будут паралельно своя новая пара, когда его кинет на перелогин.
Да, я могу хранить только 1 рефреш токен для 1 юзера, но это бред - если юзер захочет на 2 ПК залогинится? Поэтому этот вариант не катит. Как тогда защищатся и почему это никого не беспокоит?
Все системы, которые есть на рынке, имеют систему инвалидации как access token, так и refresh token. Это может сделать как администратор Identity Server так и сам пользователь. Что касается защиты от угона так тут те же самые рекомендации как и у всего остального
jeruthadam, примерно на всю)
имеем ситуацию:
- хакер угнал токен
что нас интересует:
- насколько это опасно
- что с этим делать
- как избежать повторения ситуации
итак:
- это опасно, хакер угнал рефреш токен, но временно: до протухания токена, до момента когда все токены будут сброшены администратором или пользователем
- что с этим делать: система оповещения о входе с нового устройства для пользователя, система сброса сессий (токенов) для пользователя и администратора, короткое время жизни токенов
- как избежать: да примерно никак, кроме стандартных рекомендаций гонять все через SSL и выкидывать пользователей регулярно. А можно вообще рефреш токены не использовать
- это опасно, хакер угнал рефреш токен, но временно: до протухания токена, до момента когда все токены будут сброшены администратором или пользователем
это рефреш токен, он не протухает. никакого сбрасывания нету в природе, это дебилизм в случае токенов (т.е. блеклисты и тд)
что с этим делать: система оповещения о входе с нового устройства для пользователя, система сброса сессий (токенов) для пользователя и администратора, короткое время жизни токенов
у рефреш токена нету времени жизни. оповещение, о чем? об использовании рефреш токена, вы серьезно?
как избежать: да примерно никак, кроме стандартных рекомендаций гонять все через SSL и выкидывать пользователей регулярно. А можно вообще рефреш токены не использовать
я не спрашивал как избежать угона токена, я спрашивал как с этим быть. если не использвать рефреш токены то что? делать безлимитный акцесс токен?)) супер
это рефреш токен, он не протухает. никакого сбрасывания нету в природе, это дебилизм в случае токенов (т.е. блеклисты и тд)
протухает, прекрасно это делает
у рефреш токена нету времени жизни. оповещение, о чем? об использовании рефреш токена, вы серьезно?
есть время жизни, даже настраивается, оповещение пользователю - ну, в вк или gmail никогда не видел?
я не спрашивал как избежать угона токена, я спрашивал как с этим быть. если не использвать рефреш токены то что? делать безлимитный акцесс токен?)) супер
еще раз - рефреш токен не бесконечный, да и вообще его можно не выдавать. когда аксесс протухает то пользователя возвращает на логин, это нормально
Иван Шумов, ну блин конечно я могу сделать протухание рефреш токена, но его тогда ставят месяц например. просто если юзер долго не логинится. как мне это поможет? НИКАК. у меня рефшер токен вообще не JWT, так-то. его и не обязательно JWT делать. для вас это сюрприз?
какие к черту оповещения? вы смешны. только готовые решения юзаете похоже? вот эти свои джавы?)) объясняю! рефреш токен используется какждые 15 минут. каждые 15 минут, Карл! КАКИЕ ОПОВЕЩЕНИЯ?
возвращать на логин каждые 15 минут это гениально, спасибо вам за ответы.
jeruthadam, аксесс токен в зависимости от системы ставят на разное время - от нескольких секунд до дней
рефреш токен ставят на время, превышающее аксесс
все эти значения подбираются эмпирически или с учетом требований, которые кто-то очень сильно хочет. откуда взялось именно 15 минут? кто-то сказал в первой же статье что 15 минут и точка?
пользователя возвращать на логин каждые 15 минут, конечно, дикость, а вот если мы токен генерируем для сервера, который обращается к api так в некоторых системах даже непозволительная роскошь.
оповещения это дополнительный слой безопасности. до момента протухания токена единственный способ борьбы со злоумышленником - удаление токена. других - не существует. именно поэтому в современных системах появляется система предугадывания потенциальных атак и предупреждение владельца аккаунта что кто-то мог войти под ним.