如何使用凭据批量请求?我使用仅限http的JWT cookie,而HttpLink允许我传递credentials: 'include'
选项,该选项将cookie转发到我的石墨烯服务器。当我尝试切换到BatchHttpLink时,它不再接受该配置选项。从源头上看,它并不是一种简单的配置方式。任何人都知道如何处理这个?
这是我没有批处理的方式:
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 cookie不会在标题中传递。
答案 0 :(得分:0)
与apollo-link-batch-http
相比,现在apollo-link-http
落后于其API。以下是docs(截至2017-12-07)
注意:此软件包将更新以删除对apollo-fetch的依赖,并使用与http-link相同的选项/ API
将BatchHttpLink与apollo-fetch一起使用
如果要对凭据等内容进行自定义,则apollo-link-batch-http
的当前API需要自定义apollo-fetch
。这里有几个选项。
customFetch
至createApolloFetch
并在获取选项中定义credentials
。使用apollo-fetch中间件
fetch.batchUse(({ options }, next) => {
options.credentials = 'include';
next();
});