2017-12-07 2 views
0

자격 증명을 사용하여 일괄 요청을 어떻게 처리합니까? 나는 HTTP 전용 JWT 쿠키를 사용하고 HttpLink는 쿠키를 내 그라 핀 서버로 전달하는 credentials: 'include' 옵션을 전달할 수있게 해줍니다. BatchHttpLink로 전환하려고하면 더 이상 구성 옵션을 사용할 수 없습니다. 소스를 살펴보면 쉽게 구성 할 수있는 것으로 보이지 않습니다. 누구든지이 문제를 어떻게 처리해야하는지 알고 있습니까? 여기React Apollo를 사용하여 자격 증명이있는 일괄 요청

내가 배치하지 않고 그 일을 한 방법은 다음과 같습니다

window['app-react'].GRAPHQL_URL = window['app-react'].GRAPHQL_URL || 'http://backend.app.local/graphiql' 
const httpLink = new HttpLink({ 
    uri: window['app-react'].GRAPHQL_URL, 
    credentials: 'include' 
}) 
const client = new ApolloClient({ 
    link: httpLink, 
    cache: new InMemoryCache(), 
}) 
여기

나는이 일을하고자하는 방법은 다음과 같습니다

const batchHttpLink = new BatchHttpLink({ 
    uri: window['joor-react'].GRAPHQL_URL, 
    credentials: 'include' 
}) 
const client = new ApolloClient({ 
    link: batchHttpLink, 
    cache: new InMemoryCache(), 
}) 

나는 그것이, 비록 JWT 쿠키를 이런 식으로 작업을 수행 할 때 헤더에 전달되지 않습니다.

답변

0

지금 apollo-link-batch-httpapollo-link-http에 비해 API가 뒤쳐져 있습니다. 여기에 docs

(2017년 12월 7일 현재) 주에서 참고 인 :이 패키지에 대한 종속성 제거하기 위해 업데이트됩니다 HTTP 연결

과 같은 옵션/인 API를 사용 아폴로를 페치 와 BatchHttpLink를 사용

자격 증명 같은 것들에 사용자 정의를 만들고 싶어 apollo-link-batch-http의 현재 API는 사용자 정의 apollo-fetch을 필요로

아폴로 페치. 몇 가지 옵션이 있습니다.

  1. customFetchcreateApolloFetch에 제공하고 가져 오기 옵션에서 credentials을 정의합니다.
  2. 사용 미들웨어 아폴로는 페치

    fetch.batchUse(({ options }, next) => { 
        options.credentials = 'include'; 
        next(); 
    }); 
    
관련 문제