Контроль доступа-Разрешить-Происхождение на ApolloServer / Express - PullRequest
0 голосов
/ 15 апреля 2020

Я создаю что-то, что позволяет отправлять файлы cookie с httpOnly и на них, и я получаю «Доступ к выборке в» http://localhost: 4000 / graphql «из источника» http://localhost: 3000 'было заблокировано политикой CORS: значение заголовка «Access-Control-Allow-Origin» в ответе не должно быть подстановочным знаком «*», если режим учетных данных запроса «include».

Дело в том, что я не могу понять, как установить его от * до http://localhost: 3000

Для сервера я использую это

const server = new ApolloServer({
  typeDefs,
  resolvers: userResolvers,
  context: ({ req, res }) => ({ req, res }),
  cors: false
});
const app = express();
const corsOptions = { 
	credentials: true, 
	origin: 'http://localhost:3000', 
};
app.use(cors(corsOptions));

Я также пробовал

app.use(function (req, res, next) {
  ...
  res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');
  next();
});

на стороне клиента, которым я пользуюсь

export default new ApolloClient({
  uri: "http://localhost:4000/graphql",
  credentials: 'include',
  clientState: {
    defaults,
    resolvers
  }
});
...