Согласно документации apollo-graphql , мы можем сделать это с помощью setContext - установить apollo-link-context
и сделать import { setContext } from 'apollo-link-context'
в верхней части вашего файла:
const authLink = setContext((_, { headers }) => {
// get the authentication token from whereever it exists - This is your choice.
const token = localStorage.getItem('token');
// return the headers to the context so httpLink can read them
return {
headers: {
...headers,
authorization: token ? `Bearer ${token}` : "",
}
}
});
const httpLink = new HttpLink({
uri: 'http://localhost:8000/graphql/', // Server URL (must be absolute)
opts: {
credentials: 'include', // Additional fetch() options like `credentials` or `headers`
}
})
И затем в вашей конфигурации:
export const config = {
link: authLink.concat(httpLink)
}
Это будет автоматически включать авторизацию / учетные данные для каждого запроса, который мы делаем.
Надеюсь, это полезно.