2017-02-21 17 views
3

Я могу отправить печенье в заголовке при запросе данных из Graphql, используя этот фрагмент кода:Куки не получают прошло в мобильном браузере в graphql запросе через relayjs

Relay.injectNetworkLayer( new Relay.DefaultNetworkLayer(GQL_URL, { credentials: 'same-origin', }));

Это хорошо работает для браузера Desktop, но не с мобильного.

Но когда я открываю свой сайт на мобильных устройствах (или имитирую в хром с помощью любой мобильной модели), файлы cookie не проходят.

Есть ли какой-либо мобильный браузер для обработки файлов cookie?

Также после анализа файлов cookie, которые передаются в non-graphql rest api-вызовах на мобильных устройствах.

PS: Это не может быть актуальным, но в случае рабочего стола, печенье становится хранится в различных доменных именах (Поскольку существует несколько доменов для различных запросов):

abc.domain.com -> cookie1, Cookie2 ... и т.д. def.domain.com -> cookie1, Cookie2 .. и т.д.

, но в мобильных печенье хранится на одном имени хоста:

abc.domain.com -> cookie1, Cookie2 ... и т.д.

Обновление: Происхождение заголовка отличается в случае мобильного телефона. Если это помогает

Любая помощь будет оценена по достоинству.

ответ

1

Найдено решение. Измененные учетные данные для обмена кросс-куки домена в relayjs:

Relay.injectNetworkLayer( new Relay.DefaultNetworkLayer(GQL_URL, { credentials: 'include', }));

В случае рабочего стола, IFrame получал загружен в отличие от мобильной версии, где мы делаем запрос XHR и вставки содержимого в DIV после этого. Таким образом, файлы cookie сохранялись в правильном домене в случае iframe, потому что приходящая форма правильного происхождения, но в случае возникновения xhr остается неизменной. Так необходимо для доступа через файлы cookie с перекрестными доменами.

Спасибо за помощь!

 Смежные вопросы

  • Нет связанных вопросов^_^