удостовериться что я всё правильно понял. Сейчас будет небольшой теоретический вопрос, извиняюсь если он будет слишком глупым)
У нас есть access токен, который обновляется за счёт refresh токена. Когда происходит авторизация пользователя в системе, ему в localstorage передаётся access токен. И каждый раз, когда пользователь обращается к серверу, он отправляет этот access токен, и если он правильный, то сервер делает то что хочет пользователь, и так же возвращает ему уже новый access токен. + access токен обновляется сам, через указанное время с помощью refresh токена (и refresh токен тоже обновляется, но уже не так часто как access).
Вопросы:
1)Всё ли я правильно понял?
2)Теоретически, в такой системе не может быть одновременно авторизированно два пользователя, верно?
сервер не отдает новый токен на каждый запрос
Ну access токен в локал сторедж, а refresh в httpOnly cookie
Ты про access?
аксес токен лучше в памяти держать ну я такую практику видел
Нет. Ты можешь создать несколько токенов, для разных подключений. Авторизуешься где-то — выдается новый токен, с которым можно войти, а старый не удаляется, следовательно и сессия по нему живет. Количество общих подключений можно контролировать
https://gist.github.com/zmts/802dc9c3510d79fd40f9dc38a12bccfc
Да, перечитал ещё пару статей, ты прав)) at(access toket);rt(refresh token) Но ещё такой вопрос. Вот я отправляю jwt, и после того как мой at заканчивается, я отправляю rt. И в ответ получаю новый jwt+rt. Но как я пойму что rt уже закончился? То есть я слышал что они долгоживущие. Но как серверу понять что его жизнь закончена?;)
Рефреш сервер хранит у себя
Но он же его тоже обновляет, рефреш то одноразовый. Как он поймёт то что хватит принимать этот refresh?
Обсуждают сегодня