如何解决Nextjs和Apollo:在getInitialProps服务器端将cookie附加到Apollo Client
所以我知道我可以使用ctx.req.headers.cookie访问cookie服务器端,但是我不确定如何使用Apollo Client将cookie发送到GraphQL端点。
有帮助吗?谢谢。
解决方法
我建议的最简单方法是使用Apollo HTTP Link's context
(https://www.apollographql.com/docs/link/links/http/#passing-context-per-query)
如果您监视网站上的常见HTTP请求,您可能会注意到在请求标头中设置了cookie
标头,代表发送的cookie。
因此,您可以通过在Apollo HTTP客户端标头中设置相同的send cookies
来cookie
到Apollo
import {
ApolloClient,InMemoryCache,gql,createHttpLink
} from "@apollo/client";
const client = new ApolloClient({
link: createHttpLink({ uri: "https://myserver.com" })
cache: new InMemoryCache()
});
// Pass the cookie header into context when using ApolloClient
const cookie = 'mycookie1=myvalue1; mycookie2=myvalue2';
client.query({
fetchPolicy: "cache-first",context: {
headers: {
cookie
}
},query: gql``
});
或使用低级Apollo链接:https://www.apollographql.com/docs/react/api/link/apollo-link-context/#overview
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。