Size: a a a

2020 November 23

М

Максим in Svelte [svelt]
Вопрос не по теме, но все же) а зачем рефреш токен в spa?) Его же никак не сохранить с меткой httpOnly.

И как в spa поступают тогда?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Максим
Вопрос не по теме, но все же) а зачем рефреш токен в spa?) Его же никак не сохранить с меткой httpOnly.

И как в spa поступают тогда?
Вообще хранить рефреш токен на клиенте довольно опасное занятие.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Там у тебя небось какой-нибудь serverless?
источник

AS

Andrey Sitnik in Svelte [svelt]
Максим
Вопрос не по теме, но все же) а зачем рефреш токен в spa?) Его же никак не сохранить с меткой httpOnly.

И как в spa поступают тогда?
Очень часто это люди нахвата
тся разных рекомендаций по безопасности, а потом используют их не понимая
источник

AS

Andrey Sitnik in Svelte [svelt]
Слышали про рефреш-токен, но упустили что он должен быть в httpOnly-куках и хранят в клиенте
источник

AS

Andrey Sitnik in Svelte [svelt]
Карго-культ
источник

AS

Andrey Sitnik in Svelte [svelt]
Максим
Вопрос не по теме, но все же) а зачем рефреш токен в spa?) Его же никак не сохранить с меткой httpOnly.

И как в spa поступают тогда?
Как именно поступать сильно зависит от задачи.

Если нужно просто сохранить токен для общения с сервером, то лучше поставить его в httpOnly-куку (использовать один токен, без его обновления)
источник

AS

Andrey Sitnik in Svelte [svelt]
Главная вещь, о которой помогает думать — от каких ветеринара атаки мы защищаемся.

Тут их несколько:
1. XSS с доступом вредоносного кода данным приложения (защищено httpOnly-кукой)
2. Перехват токена MitM (защищено HTTPS)
3. Захват токена при взломе/утере компьютера (надо придумать средства отзыва старых токена пользователем)
4. Доступ домочадцев когда пользователя нет рядом (это нужно редко, но обычно переспрашивая пароль для опасных действий или биометрией)
источник

AP

Alexander Ponomarev in Svelte [svelt]
Eric Rovell
Да, я наверняка что-то не так делаю.

У меня начало появляться несколько врапперов с флексами. Хотел сделать удобный компонент, и вешать классы пропсами. Но что-то мне код не понравился.

Делал похоже на css модулях в реакт. Компонент имел только разметку и слушатели и прочее. Стили же падали через модули пропсом.

Казалось, что очень упрощает жизнь и повышает переиспользование компонента в целом.
по поводу цсс модулей не дай себя переубедить ты все делаешь правильно, свелт банально не дает базовой возможности поставить марджины дочернему компоненту без использования глобала.

Семантически разные компононенты но выглядещие одинаково стоит свести к одному глупому компоненту и двум семантическим компонентам-оберткам, которые ее используют.
источник

AS

Andrey Sitnik in Svelte [svelt]
Alexander Ponomarev
по поводу цсс модулей не дай себя переубедить ты все делаешь правильно, свелт банально не дает базовой возможности поставить марджины дочернему компоненту без использования глобала.

Семантически разные компононенты но выглядещие одинаково стоит свести к одному глупому компоненту и двум семантическим компонентам-оберткам, которые ее используют.
А ставить маржины дочернему элементу это разве не анти-паттерн? Это же нарушает изоляцию
источник

AS

Andrey Sitnik in Svelte [svelt]
Я обычно делаю ещё один элемент обёртку в родителей для маржина чтобы сохранять изоляцию (в ребёнке например может уже стоять свой отрицательный маржин для какого-то хака, который ты сломаешь)
источник

PM

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

DK

Dan Kozlov in Svelte [svelt]
Andrey Sitnik
А ставить маржины дочернему элементу это разве не анти-паттерн? Это же нарушает изоляцию
Это ты сейчас зря. Александр тут адепт веры постановки марджинов дочерним компонентам, это очень больная тема.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Но с моей стороны +1
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dan Kozlov
Это ты сейчас зря. Александр тут адепт веры постановки марджинов дочерним компонентам, это очень больная тема.
Больная тема 😄
источник

DK

Dan Kozlov in Svelte [svelt]
Dan Kozlov
Это ты сейчас зря. Александр тут адепт веры постановки марджинов дочерним компонентам, это очень больная тема.
Надеюсь, это не прозвучало как троллинг. У всех свои задачи и представления об их решении.
источник

AS

Andrey Sitnik in Svelte [svelt]
Ну тут вопрос — вас изоляция или удобство 😸
источник

AS

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

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Andrey Sitnik
Слышали про рефреш-токен, но упустили что он должен быть в httpOnly-куках и хранят в клиенте
Я рефреши если они имеются храню исключительно на BFF, но если BFF нету, то конечно вопрос интересный. HttpOnly частично решает проблему, но кажется все равно немного не естественным. Вообще не уверен что система с 2-мя токенами очень то нужна для простых схем фронтенд-бекенд. Внешняя авторизация через oauth понятно зачем.
источник

AS

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