Size: a a a

2020 November 23

AS

Andrey Sitnik in Svelte [svelt]
Типа делаешь запрос на BFF с помощью токена X, чтобы получить токен X+1 на следующие пару часов?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
Странно тогда брать CSS Modules. Если хочется удобство, проще выключить изоляцию селекторов вообще и фигачить БЭМ разрешая расширять блоки
проблема с margin почти полностью выдуманная. решений полно, начиная от прокидывания аттрибута style с нужными margin, заказчивая условно-глобальными стилями, с помощью которых можно при большом желании вообще пропатчить что угодно в ребенке:

.parent > :global(.child) {} => .parent.svelte-xyz > .child {}
источник

AS

Andrey Sitnik in Svelte [svelt]
Или просто .parent > :global(*) — с помощью global явно указываешь выход за пределы изоляции
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
Типа делаешь запрос на BFF с помощью токена X, чтобы получить токен X+1 на следующие пару часов?
обычно в 3-х звенных схемах с BFF токены нужны для доступа к бекенду, который не BFF. собственно запросы к апи BFF фактически проксирует и может выступать в роле интесептора, если видит что токе протух, может незримо для клиента осуществить процедуру рефреша и повторить запрос
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
у нас так вообще чаще всего 2-токена используются для авторизации на беке, а между клиентом и BFF идет обычная сессия
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
в данных которой на BFF лежат токены
источник

AS

Andrey Sitnik in Svelte [svelt]
Pavel 🦇 Malyshev
обычно в 3-х звенных схемах с BFF токены нужны для доступа к бекенду, который не BFF. собственно запросы к апи BFF фактически проксирует и может выступать в роле интесептора, если видит что токе протух, может незримо для клиента осуществить процедуру рефреша и повторить запрос
А зачем такая сложность? От какой атаки она защищает?

От XSS видно что не помогает
источник

AS

Andrey Sitnik in Svelte [svelt]
Просто крадёшь временный токен, а BFF всё равно его так же обновит
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
А зачем такая сложность? От какой атаки она защищает?

От XSS видно что не помогает
сложность в 2-х авторизциях или вообще в наличии BFF?
источник

AS

Andrey Sitnik in Svelte [svelt]
Pavel 🦇 Malyshev
сложность в 2-х авторизциях или вообще в наличии BFF?
В наличии двух токенов
источник

AS

Andrey Sitnik in Svelte [svelt]
И механизме протухания
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
В наличии двух токенов
2 токена нужны чтобы лишний раз не авторизовываться на бекенде же
источник

PM

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

AS

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

PM

Pavel 🦇 Malyshev in Svelte [svelt]
но если мобильные приложения условно можно считать “доверенными”, но фронтенд нет. в данном случае BFF выстапает в качестве доверенного источника
источник

PM

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

PM

Pavel 🦇 Malyshev in Svelte [svelt]
на веб, с помощью BFF мы вообще скрываем от фронтенда эту сложность + можем регулировать время сессии отдельно.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
хранить долгоиграющий токен на фронте имхо не очень безопастно, еще менее безопасно хранить там рефреш, в любом виде
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
А зачем такая сложность? От какой атаки она защищает?

От XSS видно что не помогает
от XSS и вообще всех клиентских атак на BFF идет отдельная защита. собственно это одна из главных его целей
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
цели BFF: SSR, клиентские атаки, авторизация, форматирование/агрегация запросов под нужды фронтенда, кэширование данных.
источник