170 похожих чатов

Всё просто. Есть AT(access token) и RT(refresh token) AT - короткоживущий,

не инвалидируется
RT - долгоживущий, инвалидируемый

есть 3 основных действия

Register(username, password) => void
Login(username, password) => {AT; RT}
Refresh(RT) => {AT;RT}

Угнали AT? он протухнет и всё
Угнали RT? из-за того, что он одноразовый, хакер вынужден будет получить новую пару токенов вызвав Refresh(RT), а в свою очередь пользователь по этому рефрешу уже не сможет получить новую пару и будет перенаправлен в метод Login(username, password) и введя правильные данные он уже перезатрёт RT и хакер опять же по истечению срока его AT просто потеряет доступ.
Надеюсь, ответил на вопрос, зачем RT одноразовый)

4 ответов

37 просмотров

А если пользователь помер, то хакер будет использовать полученные токены сколько угодно долго.

Oleg Safonov
Оба токена ограничены по времени

Да, но требуются активные действия от пользователя, чтобы перезатереть RT

Слава
Да, но требуются активные действия от пользователя...

Непонятно Токен истёк- пошли менять токен и обновили оба, руками пользователь сам ничего не делать В Вашем же предложении как раз пользователь бесконечно будет ходить в систему и мы не сможем ему запретить не изменив пароль

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта