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

Всем привет. Я ознакомился с теорией jwt, и теперь хочу

удостовериться что я всё правильно понял. Сейчас будет небольшой теоретический вопрос, извиняюсь если он будет слишком глупым)
У нас есть access токен, который обновляется за счёт refresh токена. Когда происходит авторизация пользователя в системе, ему в localstorage передаётся access токен. И каждый раз, когда пользователь обращается к серверу, он отправляет этот access токен, и если он правильный, то сервер делает то что хочет пользователь, и так же возвращает ему уже новый access токен. + access токен обновляется сам, через указанное время с помощью refresh токена (и refresh токен тоже обновляется, но уже не так часто как access).
Вопросы:
1)Всё ли я правильно понял?
2)Теоретически, в такой системе не может быть одновременно авторизированно два пользователя, верно?

10 ответов

14 просмотров
Alex- Автор вопроса

Ну access токен в локал сторедж, а refresh в httpOnly cookie

Alex- Автор вопроса

Ты про access?

Alex
Ты про access?

Нет. Ты можешь создать несколько токенов, для разных подключений. Авторизуешься где-то — выдается новый токен, с которым можно войти, а старый не удаляется, следовательно и сессия по нему живет. Количество общих подключений можно контролировать

Alex- Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
сервер не отдает новый токен на каждый запрос

Да, перечитал ещё пару статей, ты прав)) at(access toket);rt(refresh token) Но ещё такой вопрос. Вот я отправляю jwt, и после того как мой at заканчивается, я отправляю rt. И в ответ получаю новый jwt+rt. Но как я пойму что rt уже закончился? То есть я слышал что они долгоживущие. Но как серверу понять что его жизнь закончена?;)

Alex- Автор вопроса
✙ Nikita 🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
Рефреш сервер хранит у себя

Но он же его тоже обновляет, рефреш то одноразовый. Как он поймёт то что хватит принимать этот refresh?

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

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

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...
~
13
Недавно 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
Карта сайта