@reactnative_ru

Страница 410 из 878
Иван
03.12.2017
10:54:16
опция зовется project.ext.react = [ entryFile: "index.js" ]

видимо надо прописать верный путь до src как это сделал парень на ютубе

Mars
03.12.2017
11:06:25
Кто-нибудь настраивал разные конфигурации в зависимости от типа сборки? production, staging, development?
Я пытался год назад сделать, но быстро не вышло. Тоже интересно как это решается

Google
Andrew
03.12.2017
12:08:13
вот это не то - https://github.com/luggit/react-native-config ?
Да! Спасибо. Очень похоже на то что нужно. Включая разные конфигурации для авторизации через фейсбук. Судя по репозиторию, библиотека немного нестабильна, но можно попробовать. Нашел еще вот такио описание того как пробросить переменные в нативный и js код http://www.multunus.com/blog/2016/06/automated-environment-management-react-native-ios/

Egor
03.12.2017
12:14:32
ж

э

Play
03.12.2017
12:30:08
Я до дома доберусь посмотрю
Через редакс пришлось решить и он мне еще понадобится, так как с base64 временое решение. Не рекомендуют в коллекциях MongoDB хранить файлы, а только ссылки на них. Мне в идеале эта библиотека подходит https://github.com/jaydenseric/apollo-upload-client , так что решение через редакс, то что нужно.

Andrew
03.12.2017
13:00:20
Еще один момент для которого никак не могу найти решение, это определять авторизован ли пользователь через куку на сервере или нет. Кто-нибудь сталкивался?

Play
03.12.2017
13:58:01
это понятно)

jdc
03.12.2017
14:35:14
Не совсем понял до конца
Как ты проверяешь авторизацию юзера?

Иван
03.12.2017
14:36:25
Как ты проверяешь авторизацию юзера?
у меня jwt это куда проще, всяких куки

Google
Andrew
03.12.2017
14:36:39
Как ты проверяешь авторизацию юзера?
сейчас я делаю запрос на сервер с access_token фейсбука и привязываю куку к этому пользователю. Потом эта кука автоматически остается в клиенте и все последующие запросы с credentials: 'include'

Andrew
03.12.2017
14:39:08
Куки в рест апи?
graphql, но одно и тоже, но сути не меняет

Илья
03.12.2017
14:39:39
graphql, но одно и тоже, но сути не меняет
Просто обычно для такого юзают токен

А не куки

Куки для браузерных сессий

Иван
03.12.2017
14:39:57
Andrew
03.12.2017
14:41:16
не всегда. Потом необходимо отслеживать выданные токены, обновлять их, удалять, синхронизировать с разными устройствами и куча других моментов

Илья
03.12.2017
14:42:00
Зачем синхронизировать и обновлять токены?

Иван
03.12.2017
14:42:10
все зависит от бэкенда, у меня бэк на laravel там для этого есть jwt token пакет

Илья
03.12.2017
14:42:16
На каждый девайс по токену и всё

Иван
03.12.2017
14:42:23
он и обновляет и хранит и выдает новые

Илья
03.12.2017
14:42:29
И продлевать его время жизни при запросах

Andrew
03.12.2017
14:43:40
это да, удобно. Но вот если взглянуть сюда, то много моментов появляется http://cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessions/ http://cryto.net/~joepie91/blog/2016/06/19/stop-using-jwt-for-sessions-part-2-why-your-solution-doesnt-work/

Илья
03.12.2017
14:44:12
А зачем юзать именно jwt?

Просто табличка на бэке с сессиями

И токены просто рандомные

Andrew
03.12.2017
14:45:34
у меня сейчас есть табличка с авторизациями разных пользователь, привязанная к passport, express-session и redis

Google
Andrew
03.12.2017
14:48:36
Затем нужно отправлять запрос на серв на проверку токена при запросе юзером компонентов.
я делаю на сервер запрос за профилем пользователя и понимаю что авторизован, но как потом каждый раз убеждаться что пользователь авторизован. Перед входом в приложение каждый раз слать запрос на сервер? Тоже не вариант

Nikita
03.12.2017
15:41:14
@eclipticwld куку хранишь для rest запросов, и по ней идентификация юзера?

import axios from 'axios' import * as Cookies from "js-cookie" const api = axios.create() // добавление токена при request api.interceptors.request.use(config => { const token = Cookies.get('token') if (token) { config.headers['Authorization'] = `Bearer ${token}` } return config })

это файл api.js

ну а там где запросы уже к апи import api from '../api' api.get('link', { params: params, }) .then((response) => {

Andrew
03.12.2017
15:43:17
@eclipticwld куку хранишь для rest запросов, и по ней идентификация юзера?
сейчас кука хранится в недрах react native для rest запросов и автоматически добавляется в каждый запрос, а сервер определяет по хедеру какой пользователь https://i.imgur.com/OcNNRm5.png

Nikita
03.12.2017
15:45:26
почему не через redux?
это вообще код с фронтенда ? в RN можно и в редаксе, без разницы

Andrew
03.12.2017
15:45:29
вопрос в том, как определить на клиенте что кука есть и она актуальна и перебрасывать пользователя на нужный стартовый скрин?

Nikita
03.12.2017
15:45:39
а, щас

Andrew
03.12.2017
15:46:11
перебрасовать - вся логика есть. Вопрос как определить?

jdc
03.12.2017
15:46:17
jdc
03.12.2017
15:47:14
какой именно токен?
куки, без разницы. Это проверяется на серве

Andrew
03.12.2017
15:47:43
т.е. каждый раз при включение приложения нужно делать запрос на сервер и смотреть ответ?

Nikita
03.12.2017
15:47:51
https://gist.github.com/but1head/6be4ee557d57b19bb2b9027524687782

вот пример

Google
Илья
03.12.2017
15:48:01
А вообще все забивают на это

Nikita
03.12.2017
15:48:04
при первой авторизации есть токен + рефреш токен

Илья
03.12.2017
15:48:10
И проверка только при запросах производится

Nikita
03.12.2017
15:48:12
при запросе на урл идет проверка

jdc
03.12.2017
15:48:14
т.е. каждый раз при включение приложения нужно делать запрос на сервер и смотреть ответ?
если при старте сразу инфа только для авторизованых юзеров.

Илья
03.12.2017
15:48:27
Ну то есть при тех запросах, что и так отправляются

Andrew
03.12.2017
15:49:33
https://gist.github.com/but1head/6be4ee557d57b19bb2b9027524687782
потестирую как подойдет для моих обстоятельств

Nikita
03.12.2017
15:49:46
Andrew Kiselev выше ссылка ни гист. при первой авторизации с бэка приходит токен и рефреш токен, токен живет час. через полтора часа юзер дает запрос, апи говорит токен истек, ахиос хватает это -> получает новый токен -> снова делает запрос

новый токен он получает по рефреш токен. короче обычный oauth

api.interceptors.response.use((response) => response, (error) => { это мидлвейр (или как там) который смотрит на код ответа, если 401 то получает токен и повторяет оригинальный запрос

Andrew
03.12.2017
15:52:56
интересно пакет js-cookie со всеми мобильными устройствами работает или нет

Nikita
03.12.2017
15:53:27
код с фронтенда, на rn это моджно использовать через редакс или еще как, не суть

Andrew
03.12.2017
15:54:48
А вообще все забивают на это
просто тут еще может быть что у пользователя нет интернета, а показать хоть что-то то надо, можно из кеша, но кука очень странно у меня в симуляторе вела, пропадала после перезагрузки симулятора

Andrew
03.12.2017
15:59:56
а серв на чем?
node.js, express, express-session

jdc
03.12.2017
16:00:09
Google
Andrew
03.12.2017
16:00:16
да

Илья
03.12.2017
17:48:59
Firebase, например

Так есть же обертка для RN

Алексей
03.12.2017
19:06:51
весело наверно когда RN как магическая коробка представляется

Rostyslav
03.12.2017
21:34:52
ПРивет подскажите, react-navigation Android back button возвращает назаз по иерархии а не в той последовательности в которой я ходил по скринам

не поскажете что можно придумать?

Andrey
04.12.2017
03:41:01
не поскажете что можно придумать?
Можно отловить нажатие назад

не поскажете что можно придумать?
https://facebook.github.io/react-native/docs/backhandler.html

Если более старая версия рн, юзай backandroid

jslby
04.12.2017
05:45:35
Всем привет. Подскажите пожалуйста. Никак не могу вникнуть в react native drawer. Может есть где нормальный материал? После разработки под веб, очень сложно вникнуть в суть другого подхода

пробую вот это https://github.com/Tinysymphony/react-native-drawer-menu

Страница 410 из 878