Size: a a a

2020 November 23

AS

Andrey Sitnik in Svelte [svelt]
Так BFF всё равно использует временный токен, чтобы выдать новый временный токен.

Крадёшь временный токен и BFF тебе его вечер продляет.

В чем разница по сравнению с хранением вечного токена на клиенте вместо временного?
источник

AS

Andrey Sitnik in Svelte [svelt]
Мы не про BFF, а пока просто про схему двух токенов. Так я понимаю пользу BFF
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
Так BFF всё равно использует временный токен, чтобы выдать новый временный токен.

Крадёшь временный токен и BFF тебе его вечер продляет.

В чем разница по сравнению с хранением вечного токена на клиенте вместо временного?
не, BFF использует механизм классических сессий с sid в httponly куке
источник

AS

Andrey Sitnik in Svelte [svelt]
Pavel 🦇 Malyshev
не, BFF использует механизм классических сессий с sid в httponly куке
Ну тогда получается, что если ты крадёшь sid из куки то точно так же имеешь доступ как при наличии вечного токена.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
время токена бекенда например 1 час, а время жизни сессии например 1 д, значит на день BFF рефрешнет токен на бекенде 24 раза (условно), но фронтенд об этом ничего не узнает
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
Ну тогда получается, что если ты крадёшь sid из куки то точно так же имеешь доступ как при наличии вечного токена.
нет, сессия имеет свое время жизни, причем сам SID может меняться каждый запрос вообще
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
но это при желании конечно
источник

AS

Andrey Sitnik in Svelte [svelt]
Pavel 🦇 Malyshev
нет, сессия имеет свое время жизни, причем сам SID может меняться каждый запрос вообще
А что происходит когда время жизни sid заканчивается? BFF по старому sid даёт тебе новый sid?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
+ из httponly куки со всеми флагами типа samesite и тп не так просто увести, да и воспользоваться толком не успеешь.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
А что происходит когда время жизни sid заканчивается? BFF по старому sid даёт тебе новый sid?
есть время жизни сессии, тогда (фактически ассоциированного с юзером куска данных на сервере), а есть время жизни sid. разыне вещи, sid может меняться хоть каждый запрос, это просто указатель на кусок данных
источник

AS

Andrey Sitnik in Svelte [svelt]
Pavel 🦇 Malyshev
+ из httponly куки со всеми флагами типа samesite и тп не так просто увести, да и воспользоваться толком не успеешь.
Ну мы сравнении с хранением долгоживущей токена в том же httpOnly.

А почему не успею воспользоваться, если твой bff но старому украденному sid я могу получить новый
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
но мы так конечно не делаем, так как там проблемы с конкурентностью начинаются
источник

AP

Alexander Ponomarev in Svelte [svelt]
Andrey Sitnik
А ставить маржины дочернему элементу это разве не анти-паттерн? Это же нарушает изоляцию
это БЭМ как бы) и БЭМ не только про нейминг а про то как делать чтобы можно было переиспользовать

зачем нужен дочерний элемент у которого уже проставлены марджины? он уже знает где он будет находиться и как ему надо "отступить" от других элементов? По мне это как раз и звучит антипаттерном.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
Ну мы сравнении с хранением долгоживущей токена в том же httpOnly.

А почему не успею воспользоваться, если твой bff но старому украденному sid я могу получить новый
даже если успеешь в промежуток времени, тогда отвалится настроящий юзер и перезайдет в аккаут и твой sid будет не актуален
источник

AS

Andrey Sitnik in Svelte [svelt]
Pavel 🦇 Malyshev
даже если успеешь в промежуток времени, тогда отвалится настроящий юзер и перезайдет в аккаут и твой sid будет не актуален
Перезайдет — ты заставляет пользователей вводить пароль на сайт каждый день?
источник

AS

Andrey Sitnik in Svelte [svelt]
Или что это значит?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
Перезайдет — ты заставляет пользователей вводить пароль на сайт каждый день?
не, я про то, что если вдруг у тебя был sid, ты успел им воспользоваться, но сервер решил сгенерить новый sid, то у юзера, который не успел им воспользоваться, sid уже протух и тогда его выкидывает на логин да. он логинится, начинается новая сессия, а старая херится.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
а по поводу долгоиграющего токена, тут зависит от бекенда. у нас бекенд обычно не выдает долгие токены
источник

AS

Andrey Sitnik in Svelte [svelt]
Pavel 🦇 Malyshev
не, я про то, что если вдруг у тебя был sid, ты успел им воспользоваться, но сервер решил сгенерить новый sid, то у юзера, который не успел им воспользоваться, sid уже протух и тогда его выкидывает на логин да. он логинится, начинается новая сессия, а старая херится.
То есть можно только один раз по старому sid получить новый sid?

И это сделает либо пользователь либо атакующий?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
кстати можно сказать, что это как раз и нужно, чтобы для веба: 1) удлинить время жизни авторизации 2) при этом не заставлять клиент часто рефрешится
источник