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

Общаемся на темы, посвященные GraphQL и опыту его использования. Проблемы. Новости. Решения. Вам могут быть полезны: @apollo_ru, @react_js, @vuejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание в чате было полезным и комфортным.

352 members

Архив канала @graphql_ru 15 апреля 2018 г.

07:09:38 ПП
User 224769697
Ребят, привет всем, подскажите пожалуйста по поводу айтентификации пользователя
с редаксом так делал: при старте приложения загружал пользователя и его роли в стор, и на разных страницах смотрел роли пользователя, и в зависимости от них отображал нужную инфу или редиректил на страницу логина

а как это делать с аполло ?

можно сделать query для получения юзера с сервера и на каждой странице её дергать, но это вроде не правильно ?)
может как то нужно один раз загружать юзера в кеш при старте приложения ?) или что вообще надо делать ?)
07:30:32 ПП
User 400181187
User 224769697
Ребят, привет всем, подскажите пожалуйста по поводу айтентификации пользователя
с редаксом так делал: при старте приложения загружал пользователя и его роли в стор, и на разных страницах смотрел роли пользователя, и в зависимости от них отображал нужную инфу или редиректил на страницу логина

а как это делать с аполло ?

можно сделать query для получения юзера с сервера и на каждой странице её дергать, но это вроде не правильно ?)
может как то нужно один раз загружать юзера в кеш при старте приложения ?) или что вообще надо делать ?)
JWT проще https://m.habrahabr.ru/post/340146/
m.habrahabr.ru/post/340146
Представляю вам мой довольно вольный перевод статьи 5 Easy Steps to Understanding JSON Web Tokens (JWT). В этой статье будет рассказано о том, что из себя...
07:35:40 ПП
User 400181187
Вроде тут все описано для реакта https://www.apollographql.com/docs/react/recipes/authentication.html
07:38:52 ПП
User 400181187
В гугле думаю по запросу graphql <server type> jwt example есть что нить интересное
07:40:06 ПП
User 55289203
Ну так-то в graphql запросах есть условия
07:40:47 ПП
User 224769697
на сервере уже реализовал jwt, на клиенте вроде как частично тоже, но пока просто в локалсторейдж (в который не стоит ложить токен изза несекьюрности, но в большинстве туториалов так делкют), но как с реактом  это дружить пока не понял )
07:40:52 ПП
User 224769697
спасибо за советы )
07:41:33 ПП
User 55289203
User 224769697
на сервере уже реализовал jwt, на клиенте вроде как частично тоже, но пока просто в локалсторейдж (в который не стоит ложить токен изза несекьюрности, но в большинстве туториалов так делкют), но как с реактом  это дружить пока не понял )
А можно подробнее про "несекьюрность" ?
07:41:36 ПП
User 400181187
Да, сорян, надо конкретнее :) для секьюрити експирейшн ставят 5-15 мин
07:42:31 ПП
User 255757458
User 400181187
Да, сорян, надо конкретнее :) для секьюрити експирейшн ставят 5-15 мин
https://www.owasp.org/index.php/JSON_Web_Token_(JWT)_Cheat_Sheet_for_Java
07:42:43 ПП
User 255757458
пишут что хранить там не нужно от слухов
07:43:00 ПП
User 255757458
но чтобы можно было хранить - нужно сделать как по ссылке
07:49:00 ПП
User 400181187
User 255757458
пишут что хранить там не нужно от слухов
🤔 ну так то тут предлагаю писать в sessionstorage что есть как бы тоже storage :D
07:49:20 ПП
User 255757458
можно и в локал
07:49:28 ПП
User 255757458
если сделаешь все как там написано)
07:49:37 ПП
User 255757458
хотя бы юзер контекст
07:49:43 ПП
User 255757458
сделай)
07:52:34 ПП
User 400181187
Таки да)
07:54:02 ПП
User 400181187
User 224769697
на сервере уже реализовал jwt, на клиенте вроде как частично тоже, но пока просто в локалсторейдж (в который не стоит ложить токен изза несекьюрности, но в большинстве туториалов так делкют), но как с реактом  это дружить пока не понял )
Все есть в туториалах :) если кажется что не все то тебе сюда @react_js
07:58:29 ПП
User 224769697
@pa1addin c @react_js, кажется, это не сильно связано, скорее конкретно  с тем, как кешировать данные о юзере в локальном кэше )
а сайт apollo что то начал только через VPN грузиться О)_о
07:59:02 ПП
07:59:52 ПП
User 400181187
Да, были сообщения что еще докер для кого то закрыли хД
08:00:08 ПП
User 478207156
Интересно, зачем?
08:00:09 ПП
User 400181187
Ну всм их сайт с доками
08:00:17 ПП
08:04:43 ПП
User 400181187
User 224769697
@pa1addin c @react_js, кажется, это не сильно связано, скорее конкретно  с тем, как кешировать данные о юзере в локальном кэше )
а сайт apollo что то начал только через VPN грузиться О)_о
Пробовал данные в json хранить?)
08:06:24 ПП
User 224769697
всмысле в json ?) где?) в переменной, в локалсторейдже?) и куках ?)
08:06:34 ПП
User 400181187
Первое)))
08:07:12 ПП
User 400181187
Или какие данные ты имеешь ввиду?
08:07:13 ПП
User 224769697
то есть мы делаем запрос к серверу графа, получаем юзера, записываем в переменную а потом экспортируем её во все компоненты ?)
08:08:01 ПП
User 224769697
я с телефона нашел в туториале https://www.apollographql.com/docs/react/recipes/authentication.html в конце как кешировать данные о юзере
08:08:05 ПП
User 224769697
вроде
08:08:13 ПП
User 224769697
надо разобраться как впн на компе сделать )
08:08:21 ПП
User 400181187
🤔 ааа вот что ты имел ввиду хД
Кстати кроме шуток это как вариант))))
08:08:32 ПП
User 400181187
Но кажется костыльный)
08:09:49 ПП
User 400181187
User 224769697
надо разобраться как впн на компе сделать )
В доках вк пишешь proxy, там могут вывалится годные txt с проксями и дальше настраиваешь в щависимости от оськи
08:10:06 ПП
User 400181187
Или hotspotshield в хроме для ленивых
08:12:41 ПП
User 400181187
Ааа ты про сам токен :) блин, трудно понять если честно хД. Сорян
08:14:00 ПП
User 400181187
Да, там resetstore но надо также смотреть чтобы в момент вызова запросы прекратились потому что они могут оборваться, а даже если повезет то аполло все равно будет ругаться что query оборван
08:16:16 ПП
User 400181187
Это не кеширование ты просто привязываешь заголовок к телу запроса
08:16:20 ПП
User 400181187
Ваш кеп
08:25:56 ПП
User 224769697
в этом туториале
https://www.apollographql.com/docs/react/recipes/authentication.html
в конце
08:25:58 ПП
08:26:02 ПП
User 224769697
вот такая штука описано
08:26:10 ПП
User 224769697
мол нужно очищать кэш после разлогина
08:26:36 ПП
User 224769697
это значит что запрос CurrentUserForLayout  только один раз до сервера дойдет, а потом будет браться только из кэша ?)
08:26:37 ПП
User 224769697
или как?)
08:26:46 ПП
User 224769697
надо про кеширование лучше почитать >.<
08:28:08 ПП
User 400181187
User 224769697
мол нужно очищать кэш после разлогина
Ну это ж как воспринимать) это вызов функции сервиса аполлои нн факт что там именно кнш чистится)))
08:28:39 ПП
User 400181187
Reset это обнуление а не чистка :S
08:29:15 ПП
User 400181187
Просто реинициализируется аполло
08:29:58 ПП
User 400181187
Я бы описал как на ангуляре)
08:51:17 ПП
User 207858668
User 224769697
надо про кеширование лучше почитать >.<
кверям можно ставить fetchPolicy
если юзаешь inMemoryCache, то все по-дефолту кешируется
если не ошибаюсь
09:01:45 ПП
User 400181187
User 224769697
надо про кеширование лучше почитать >.<
точняк пардон забыл про инмеморикеш