Size: a a a

GraphQL — русскоговорящее сообщество

2020 September 03

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Лучше не городить фантазии, а придерживаться идеологии oauth2 с accessToken, refreshToken. Ну и не хранить их конечно же в localStorage, как делают все повально. Все нюансы отлично кладутся на плоскость gql, было бы желание сделать хорошо
источник

DC

Denis Chuvasov in GraphQL — русскоговорящее сообщество
да вопрос не в авторизации, вопрос в обработке ошибок и как это делать правильно в gql.
Вот случилась такая ошибка, из-за которой нельзя дальше работать в приложении, мы хотим обрабатывать такую ошибку в одном месте. Берем глобальный обработчик, смотрим ага есть такая ошибка, тут надо кинуть пользователя на экран логина, а что с самим запросом в котором ошибка делать? Его надо дальше по цепочке бросать? ничего не делать? выкинуть исключение в коде?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Вы сами себе противоречите, HOC и работает так, что он оборачивает каждый запрос/компонент. Бросаем клиента на экран логина, а что делать с его запросом на ваш вкус - хотите, храните состояние и после авторизации повторяйте запрос, хотите не храните. Нет тут правильного решения, есть только логика ту, что вы завяжете. Старайтесь делать все части приложения слабосвязанными, например клиент заполняет форму, сохраните поля локально в браузере, у него нет активного токена, кидаем его на логин, запоминая предыдущий роут, после авторизации смотрим, есть ли запомненный роут, если да - кидаем его обратно, а для формы подтягиваются данные, те что мы ранее сохранили. В чем прикол описывать банальную логику, если в каждом проекте это индивидуально?
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Олег Линьков
Лучше не городить фантазии, а придерживаться идеологии oauth2 с accessToken, refreshToken. Ну и не хранить их конечно же в localStorage, как делают все повально. Все нюансы отлично кладутся на плоскость gql, было бы желание сделать хорошо
> Ну и не хранить их конечно же в localStorage, как делают все повально.

Это ещё почему?
источник

RK

Ruslan Karachun in GraphQL — русскоговорящее сообщество
Да начнется холивар!
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Алексей Родионов
> Ну и не хранить их конечно же в localStorage, как делают все повально.

Это ещё почему?
Xss
источник

RK

Ruslan Karachun in GraphQL — русскоговорящее сообщество
cookie также можно достать через XSS
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Вариантов-то и нет, собственно: localStorage, cookies, in-memory.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Причём in-memory самый секьюрный, но есть ограничения, с которыми никто не согласен мириться: не шарится между вкладками/окнами, не переживает закрытие браузера.
источник

EM

Eugene Maltsev in GraphQL — русскоговорящее сообщество
А HTTP куку запретили юзать?🤔
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Просто не нужно подключать всякие сторонние скрипты по CDN и будет всё ок.
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Ruslan Karachun
cookie также можно достать через XSS
Http only?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Алексей Родионов
Причём in-memory самый секьюрный, но есть ограничения, с которыми никто не согласен мириться: не шарится между вкладками/окнами, не переживает закрытие браузера.
Решение при inmemory bff
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Проксирующий рефреши через себя на бек
источник

RK

Ruslan Karachun in GraphQL — русскоговорящее сообщество
и что?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Ruslan Karachun
и что?
Ну достань мне через xss токен с http only и указанным доменом
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Ясненько)
источник

RK

Ruslan Karachun in GraphQL — русскоговорящее сообщество
Олег Линьков
Ну достань мне через xss токен с http only и указанным доменом
Вы JWT токен в cookie как будете сохранять? При помощи JS?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Ruslan Karachun
Вы JWT токен в cookie как будете сохранять? При помощи JS?
кто в здравом уме это делает?
источник