Apollo-link: Habilite `credenciales: 'mismo origen'` de forma predeterminada (o permita una opción para habilitarlo fácilmente)

Creado en 22 sept. 2017  ·  5Comentarios  ·  Fuente: apollographql/apollo-link

El antiguo ApolloClient pasaba cookies automáticamente.
HttpLink, BatchHttpLink usa apollo-fetch, que usa isomorphic-fetch. De forma predeterminada, isomorphic-fetch no envía cookies.

La solución alternativa actual es 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 se puede resolver de varias formas:

1) podríamos habilitarlo por defecto para imitar la versión anterior
2) podríamos agregar otra opción a apollo-link-http y apollo-link-batch-http, llamada fetchOption , por lo que podríamos hacer algo como

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

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

Estoy dispuesto a hacer la corrección + las pruebas, solo necesito ayuda para averiguar en qué dirección queremos ir :-)

Resultado esperado:
Las cookies deben enviarse al realizar una solicitud

Resultado real:
No se envían cookies

Comentario más útil

+1 a @mjfaga , tengo el mismo problema con BatchHttpLink

Todos 5 comentarios

Bleh, duplicado del # 44

¡Perdón!

No estoy seguro de que este sea realmente un duplicado completo del n. ° 44. Ese problema solo abordó HttpLink , no BatchHttpLink . Todavía necesitamos usar la misma solución alternativa hasta que BatchHttpLink se actualice para admitir también las credenciales.

¿Podemos volver a abrir este problema hasta que también se solucione BatchHttpLink?

+1 a @mjfaga , tengo el mismo problema con BatchHttpLink

De acuerdo, este sigue siendo un tema abierto para el lote 👍

Parece que había otro problema abierto para este # 343, volveré a cerrarlo.

¿Fue útil esta página
0 / 5 - 0 calificaciones