Были некоторые функции, которые я хотел получить от apollo-server
и потратил некоторое время на рефакторинг своего кода (ранее он использовал express-graphql
).Единственной проблемой сейчас является проблема «CORS» между моим веб-приложением (использующим apollo-client
) для аутентифицированных запросов.Я вспоминаю о том, что эта проблема также была в версии 1.x, и я потратил много времени на ее борьбу, но мое предыдущее решение не работает в 2.x, и я был бы очень признателен за помощь для тех, кому удалось это решить.Работаздесь , у меня есть следующее:
Код клиента
const client = new ApolloClient({
link: createHttpLink({
uri: 'http://localhost:4000/graphql',
credentials: 'include'
})
})
Код сервера
// Initializing express app code
var app = ....
// Using cors
app.use(cors({
credentials: true,
origin: 'http://localhost:8081',
}));
// Apollo Server create and apply middleware
var apolloServer = new ApolloServer({ ... });
apolloServer.applyMiddleware({ app })
Когда клиент запрашивает серверную часть через.apollo-client
, я получаю следующую ошибку в Chrome:
Тем не менее, в моем коде сервера я явно устанавливаю источник.Когда я проверяю сетевой запрос в консоли, я получаю противоречивую историю, а Access-Control-Allow-Origin
явно установлен на http://localhost:8081
Донне встречаются с этой проблемой при использовании Insomnia для запроса моего внутреннего сервера и получения ожидаемых результатов.У кого-нибудь есть опыт установки apollo
на клиенте и сервере на localhost
и успешной аутентификации?