Apollo-link: Включите `credentials: 'same-origin' по умолчанию (или разрешите опцию, чтобы легко включить его)

Созданный на 22 сент. 2017  ·  5Комментарии  ·  Источник: apollographql/apollo-link

Старый ApolloClient автоматически передавал файлы cookie.
HttpLink, BatchHttpLink использует apollo-fetch, который использует изоморфную выборку. По умолчанию isomorphic-fetch не отправляет файлы cookie.

Текущий обходной путь довольно сложен:

    const uri = '/api/graphql';

    // by default, apollo-link-http doesn't send cookies
    const customFetch = (uri, options) =>
        fetch(uri, {
            ...options,
            credentials: 'same-origin',
        });

    // create an apollo fetch instance with our hacked fetch instance
    const apolloFetch = createApolloFetch({
        uri,
        customFetch,
    });

    const link = new BatchHttpLink({ uri, fetch: apolloFetch })

Эту проблему можно решить несколькими способами:

1) мы могли бы включить его по умолчанию, чтобы имитировать старую версию
2) мы могли бы добавить еще одну опцию к apollo-link-http и apollo-link-batch-http, называемую fetchOption , чтобы мы могли просто сделать что-то вроде

const fetchOptions = {
    credentials: 'same-origin',
};

const link = new BatchHttpLink({ uri, fetchOptions });

Я готов исправить + тесты, просто нужна помощь, чтобы понять, каким путем мы хотим идти :-)

Предполагаемый результат:
Файлы cookie должны отправляться при выполнении запроса

Фактический результат:
Файлы cookie не отправляются

Самый полезный комментарий

+1 к @mjfaga , у меня такая же проблема с BatchHttpLink

Все 5 Комментарий

Блех, дубликат № 44

Извините!

Я не уверен, что это действительно полная копия № 44. Эта проблема касается только HttpLink , а не BatchHttpLink . Нам все еще нужно использовать тот же обходной путь, пока BatchHttpLink будет обновлен для поддержки учетных данных.

Можем ли мы повторно открыть эту проблему, пока не будет решена и BatchHttpLink?

+1 к @mjfaga , у меня такая же проблема с BatchHttpLink

Согласен, это все еще нерешенная проблема для партии 👍

Похоже, для этого # 343 была открыта другая проблема, я закрою ее повторно.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги