Apollo-link: Habilite `credentials: 'same-origin'` por padrão (ou permita uma opção para habilitá-lo facilmente)

Criado em 22 set. 2017  ·  5Comentários  ·  Fonte: apollographql/apollo-link

O antigo ApolloClient passava cookies automaticamente.
HttpLink, BatchHttpLink usa apollo-fetch, que usa isomorphic-fetch. Por padrão, isomorphic-fetch não envia cookies.

A solução alternativa atual é bastante complicada:

    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 })

Este problema pode ser resolvido de várias maneiras:

1) poderíamos habilitá-lo por padrão para imitar a versão antiga
2) poderíamos adicionar outra opção para apollo-link-http e apollo-link-batch-http, chamada fetchOption , para que pudéssemos fazer algo como

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

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

Estou disposto a fazer a correção + os testes, só preciso de ajuda para descobrir para que lado queremos ir :-)

Resultado pretendido:
Os cookies devem ser enviados ao fazer uma solicitação

Resultado real:
Nenhum cookie está sendo enviado

Comentários muito úteis

+1 para @mjfaga , estou tendo o mesmo problema com BatchHttpLink

Todos 5 comentários

Bleh, duplicado de # 44

Desculpa!

Não tenho certeza se esta é realmente uma duplicata completa de # 44. Esse problema abordou apenas HttpLink , não BatchHttpLink . Ainda precisamos usar a mesma solução alternativa até que BatchHttpLink seja atualizado para também oferecer suporte às credenciais.

Podemos reabrir esse problema até que BatchHttpLink também seja resolvido?

+1 para @mjfaga , estou tendo o mesmo problema com BatchHttpLink

Concordo, este ainda é um problema em aberto para o lote 👍

Parece que outro problema foi aberto para este # 343, vou religar isso.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

valerybugakov picture valerybugakov  ·  5Comentários

lobosan picture lobosan  ·  3Comentários

ash0080 picture ash0080  ·  4Comentários

NicholasLYang picture NicholasLYang  ·  4Comentários

j3ddesign picture j3ddesign  ·  3Comentários