Я использую graphql-yoga и пишу файлы cookie, которые обращаются к Microsoft Graph API. На переднем крае у меня есть клиент apollo с настроенным Next JS, и он отлично работает ... в разработке. Когда я развертываю сервер, вообще не распознаются файлы cookie от внешнего интерфейса. В моем чтении я думаю, что это как-то связано с тем, что Next JS отображается на сервере (хотя при запуске следующей сборки написано stati c build ...) Я уверен, что проблема где-то здесь (я ухожу комментарии, чтобы показать все места, в которых я пытался установить учетные данные для «включения»)
export default function createApolloClient(initialState, ctx) {
// The `ctx` (NextPageContext) will only be present on the server.
// use it to extract auth headers (ctx.req) or similar.
return new ApolloClient({
ssrMode: Boolean(ctx),
link: new HttpLink({
fetch,
uri: process.env.NODE_ENV === 'development' ? endpoint : prodEndpoint,
credentials: 'include', // Additional fetch() options like `credentials` or `headers`
fetchOptions: {
credentials: 'include',
},
// request: operation => {
// operation.setContext({
// fetchOptions: {
// credentials: 'include',
// },
// });
// },
}),
connectToDevTools: true,
// credentials: 'include',
cache: new InMemoryCache().restore(initialState),
});
}
Другие ответы на все эти вопросы касаются CORS, но у меня установлен CORS на моем GraphQL- Сервер:
const opts = {
debug: process.env.NODE_ENV === 'development',
cors:
process.env.NODE_ENV === 'development'
? {
credentials: true,
origin: ['http://localhost:3000'],
}
: {
credentials: true,
origin: [
'...'
],
},
};
server.start(opts, () =>
console.log('Playground is running on http://localhost:4000'),
);
Кто-нибудь может указать мне правильное направление? Правильно ли я смотрю на часть ApolloClient моего интерфейса? Заранее спасибо.