powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JWT. Access token и Refresh token. Зачем? Почему?
25 сообщений из 30, страница 1 из 2
JWT. Access token и Refresh token. Зачем? Почему?
    #39756914
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю REST API для приложения. Стал вопрос безопасности. Мой выбор пал на JWT (JSON Web Token). Хорошо. Нашел и понял как это делается и работает - сделал. Сделал только Access token. Но потом понял что "а что делать когда срок действия access token-а истекает? просить юзера залогинится заново? ну как-то такое себе занятие".

Залез в гугл и увидел тему с Refresh token-ом. Начал изучать. Но вот полного понимания того зачем он нужен нет.

Подскажете зачем он нужен? Может есть другие, более лучшие, способы авторизации пользователя?

P.S. читал на хабре и на разных сайтах и везде разное пишут. Основная проблема это в отзыве выданных токенов. Хранить ли в бд или в памяти и т.д.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39756929
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A Refresh Token is a special kind of token that can be used to obtain a renewed access token —that allows accessing a protected resource— at any time. You can request new access tokens until the refresh token is blacklisted. Refresh tokens must be stored securely by an application because they essentially allow a user to remain authenticated forever.

Если речь про AOuth2
Вот тоже самое только в спеках
https://tools.ietf.org/html/rfc6749#section-1.5

Если коротко по русски то рефреш токен очень опасная вещь если ее получил враг то он может не зная пароля и логина получать доступ к Вашим ресурсам. Часто эту фичу запрещают в АОЗ 2
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39756976
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop, токены хранят только где-то на клиенте, именно потому у большинства из них есть срок жизни. jwt токен обычно шифруют каким либо из алгоритмов(в зависимости от срока жизни можно подобрать алгоритм, который за данной время не взломать или вовсе выбрать какие-нибудь ассиметричные ключи) и на сервер сайде их валидируют на лету.
( https://github.com/auth0/java-jwt)

Токены на клиент сайде не рекомендуют хранить в куках, лучше использовать local storage.

Refresh token нужен для того, чтобы по нему сервер вернул новый Access token после того, как у старого истек срок жизни. У Refresh token`а тоже есть срок жизни(например - 1 день)


Вместо refresh token вы можете использовать свою имплентацию oauth2 ^^
С другой стороны, зачем вам вообще токены? У true way rest stateless сервисы ? Настройте нормально сессию при авторизации, пусть живет на бэкенде и делов то.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39756988
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинсессию+1
Это у MS повальное увлечение токенами и аллергия на сессию.
Но в java то корпоративное ПО.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39756999
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин,
То бишь. Когда закончилось время жизни access token-а я делаю запрос с refresh token-ом. Если он валидный то сервак мне возвращает новые access и refresh. При этом на фронте не выбрасывает юзера на форму логина. так?
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757003
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopОзверин,
То бишь. Когда закончилось время жизни access token-а я делаю запрос с refresh token-ом. Если он валидный то сервак мне возвращает новые access и refresh. При этом на фронте не выбрасывает юзера на форму логина. так?

да, все правильно. Релогин будет только когда истечен refresh token(по идее!).
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757359
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может есть еще какие-то решения для авторизации клиента?
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757364
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopМожет есть еще какие-то решения для авторизации клиента?

одноразовые пароли или сертификаты ) Можно железные или программные ключи.

Ну и надо отличать авторизацию от аутиентификации, вы же за аутиентификацию спрашиваете?
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757391
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОзверинНу и надо отличать авторизацию от аутиентификации, вы же за аутиентификацию спрашиваете?


да, именно. По началу я делал через сессию, но там было приложение монолит. теперь же все отдельно
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757403
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopОзверинНу и надо отличать авторизацию от аутиентификации, вы же за аутиентификацию спрашиваете?


да, именно. По началу я делал через сессию, но там было приложение монолит. теперь же все отдельнобыла защита на сервере, теперь токенами занимается клиенты и хакеры).
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757407
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklopприложение монолит. теперь же все отдельнопоигрался? Теперь вертай все взад)
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757469
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я говорил, что проблемы будут с авторизацией...

https://github.com/sqshq/PiggyMetrics
вот тут очень примитивно описано и реализовано(несколько микросервисов и токены и все дела).
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757494
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОзверинА я говорил, что проблемы будут с авторизацией...

https://github.com/sqshq/PiggyMetrics
вот тут очень примитивно описано и реализовано(несколько микросервисов и токены и все дела).

Тут юзается OAuth2 стартер бута. Я делал без него. Мало чем это мне поможет.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757498
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopОзверинА я говорил, что проблемы будут с авторизацией...

https://github.com/sqshq/PiggyMetrics
вот тут очень примитивно описано и реализовано(несколько микросервисов и токены и все дела).

Тут юзается OAuth2 стартер бута. Я делал без него. Мало чем это мне поможет.

без спринг бута или со своей имплентацией токенов:?)
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757499
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopДелаю REST API для приложения. Стал вопрос безопасности. Мой выбор пал на JWT (JSON Web Token).
Обычно такое делают когда в сети много Rest сервисов. Без этого постановка выглядит
слегка... хм... гипертрофированной. От этого у тебя и непонимание.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757501
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refresh token всеж не имеет срока давности и его можно поставить только в ченый список.

The main concept of refresh token , is that it is long lasting and never expires. The access token has expiry time and it expires, once it expires we can go for the refresh token, that will be used again and again until the user revokes from his account.

https://stackoverflow.com/questions/8953983/do-google-refresh-tokens-expire

Я для тех кто с первого раза не понял
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757504
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopМожет есть еще какие-то решения для авторизации клиента?

Академическое решение для тех кто не может осилить протокол SAML2 это осилить OAth2 Authorization Code Grant воркфло



https://tools.ietf.org/html/rfc6749#section-1.3.1

Все зависит какой авторизационный сервер вам предстоит использовать и какой протокол этот сервер поддерживает
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757509
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверинбез спринг бута или со своей имплентацией токенов:?)

Со спринг бутом. Но своя реализация фильтров, создания токенов через jwt либу.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757571
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TsyklopОзверинбез спринг бута или со своей имплентацией токенов:?)

Со спринг бутом. Но своя реализация фильтров, создания токенов через jwt либу.

а зачем? Все есть из коробки жы.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757573
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверина зачем? Все есть из коробки жы.
Хм. тоже верно
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757604
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,
Из коробки есть все штук 10 методов аутентификации. Поэтому тема давно изжевана и расписана.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757640
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какой смысл давать человеку 10 методов если он не видит мотивации к применению?

Дайте ему мотивацию.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757643
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА какой смысл давать человеку 10 методов если он не видит мотивации к применению?

Дайте ему мотивацию.

зайди, объясни, еще и мотивируй...это не тот форум - тут нет коучей ;)))
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757648
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДайте ему мотивацию.мотивирует топик стартер интересным вопросом))) LOL.
...
Рейтинг: 0 / 0
JWT. Access token и Refresh token. Зачем? Почему?
    #39757650
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинmaytonА какой смысл давать человеку 10 методов если он не видит мотивации к применению?

Дайте ему мотивацию.

зайди, объясни, еще и мотивируй...это не тот форум - тут нет коучей ;)))
Эйнштейн говорил что если мы не можем объяснить суть какой то вещи ребёнку. - значит мы сами это не понимаем.
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / JWT. Access token и Refresh token. Зачем? Почему?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]