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

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

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

P.S. читал на хабре и на разных сайтах и везде разное пишут. Основная проблема это в отзыве выданных токенов. Хранить ли в бд или в памяти и т.д.
...
Рейтинг: 0 / 0
09.01.2019, 02:51
    #39756929
Sergunka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT. Access token и Refresh token. Зачем? Почему?
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
09.01.2019, 09:07
    #39756976
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT. Access token и Refresh token. Зачем? Почему?
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
09.01.2019, 09:50
    #39756988
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT. Access token и Refresh token. Зачем? Почему?
Озверинсессию+1
Это у MS повальное увлечение токенами и аллергия на сессию.
Но в java то корпоративное ПО.
...
Рейтинг: 0 / 0
09.01.2019, 10:08
    #39756999
Tsyklop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT. Access token и Refresh token. Зачем? Почему?
Озверин,
То бишь. Когда закончилось время жизни access token-а я делаю запрос с refresh token-ом. Если он валидный то сервак мне возвращает новые access и refresh. При этом на фронте не выбрасывает юзера на форму логина. так?
...
Рейтинг: 0 / 0
09.01.2019, 10:20
    #39757003
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT. Access token и Refresh token. Зачем? Почему?
TsyklopОзверин,
То бишь. Когда закончилось время жизни access token-а я делаю запрос с refresh token-ом. Если он валидный то сервак мне возвращает новые access и refresh. При этом на фронте не выбрасывает юзера на форму логина. так?

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

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

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


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


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

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

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

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

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

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

без спринг бута или со своей имплентацией токенов:?)
...
Рейтинг: 0 / 0
09.01.2019, 20:27
    #39757499
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT. Access token и Refresh token. Зачем? Почему?
TsyklopДелаю REST API для приложения. Стал вопрос безопасности. Мой выбор пал на JWT (JSON Web Token).
Обычно такое делают когда в сети много Rest сервисов. Без этого постановка выглядит
слегка... хм... гипертрофированной. От этого у тебя и непонимание.
...
Рейтинг: 0 / 0
09.01.2019, 20:43
    #39757501
Sergunka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT. Access token и Refresh token. Зачем? Почему?
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
09.01.2019, 20:54
    #39757504
Sergunka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JWT. Access token и Refresh token. Зачем? Почему?
TsyklopМожет есть еще какие-то решения для авторизации клиента?

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



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

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

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

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

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

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

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

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

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

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


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