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

Привет всем! Подскажите в чем смысл access и refresh токенов? Скомпрометировав refresh

токен, можно же без труда получить access токен.

Как я понял, refresh токен живет дольше и лежит в куках с httponly, а access отправляется с каждым запросом и когда он умирает, то с помощью refresh токена мы получаем access токен?

2 ответов

8 просмотров

Refresh token используется в аутентификации и авторизации, чтобы обновлять access token без необходимости повторной аутентификации пользователя. Когда пользователь входит в систему, ему выдаются два токена: access token и refresh token. Access token используется для доступа к ресурсам или данным на сервере в течение ограниченного времени. Когда access token истекает, вместо того, чтобы заставлять пользователя вводить учетные данные снова, refresh token может быть использован для получения нового access token. Таким образом, refresh token позволяет поддерживать постоянную авторизацию пользователя, пока действителен refresh token. Refresh token является более долгосрочным и безопасным способом обеспечения безопасности приложения, так как он не передается в открытом виде и обычно хранится в безопасном месте, в то время как access token имеет ограниченное время жизни и передается при каждом запросе.

Павел- Автор вопроса
Dmitry
Refresh token используется в аутентификации и авто...

Это я знаю, натыкался в статьях. Но у меня остается недопонимание, я кладу например refresh токен в куки с httponly, чтобы JS не смогу его взять, там вроде как безопасно, но этот токен с каждым запросом тогда будет уходить на сервер. Либо я кладу в локальное хранилище, что не очень безопасно.

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

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

Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
40
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
44
Вопрос, вот задание https://stepik.org/lesson/7602/step/9?unit=1473 вот код и ошибка, удивляет, что требуется еще и Semigroup так и должно быть, или я опять делаю ошибки ? htt...
Fedor
14
Вообще, меня бы даже такой вариант, наверное устроил бы: try tag.Read(0); finally end; Но этот AV не ловится и программа завершается Exception EAccessViolation in module C...
notme
12
Проблема с Windows scripting control Множество объектов получают iDispatch обертки и отдаются в скрипты. При этом скрипты могут эти обертки держать живыми очень долго, наприм...
Arioch The
16
Скажите, можно ли как-то "переместить" динамический массив из одной переменной в другую? Скажем, переместить из TList<> в TArray<>. Именно переместить, а не скопировать. Если ...
Eugene Krasnikov (ᴊɪɴ x)
37
Да и вообще... как VBS/VBA производит вызов методов тогда? Как мне на Delphi сделать точно также, блин.... VBS/VBA не падают, а возвращают нормальный СОМ-объект, где можно про...
notme
10
Всем доброго времени суток! В BDE в своё время был файл BDEINST.dll который, как я понимаю, содержал всё что нужно для инсталляции BDE. Если посмотреть на дату его создания то...
Mikhail Tchervonenko
2
Я тут пытаюсь переработать архитектуру подсистемы памяти ядра во что-то осмысленное. Есть pmm, который создает набор range’ей(пока что только для ядра, потом для юзерспейса), ...
Evg Resh
9
комрады, че-та лыжы не едут var tmpFont: TFont; begin tmpFont:= TFont.Create; try case rgFontColor.ItemIndex of 0: tmpFont.Color:= clWindowText; 1: tmpFo...
Ed Doc
34
Карта сайта