/api/v1/support/*
경로와 일치하는 POST 요청에 대해 모든 끝점에서 CORS를 활성화해야합니다."cors"라이브러리를 사용하여 Express Route에서 CORS를 구성하는 방법
자격 증명이 true 인 POST 요청을 /api/v1/support/graphql
으로하고 있지만 프리 플라이트 요청 (옵션 1)은 401을 반환합니다. 내가 잘못하고있는 것이 확실하지 않습니다.
const corsOptions = {
origin: /mydomain\.com$/,
credentials: true,
maxAge: 3600
};
app.options('/api/v1/support/*', cors(corsOptions));
app.post('/api/v1/support/*', cors(corsOptions));
// graphQLRouter is an instance of express.Router()
app.use('/api/v1/support/graphql', [ fowardIP, validateTokenInCookie ], graphQLRouter);
도움이 될 수도
액세스 제어 설정 ','사양의 예 : 액세스 제어 - 허용-방법에 따라 법적 request.OPTIONS입니다 .... ', ALLOW_METHODS', 'ALLOW_HEADERS'(access_control 헤더 아래에 있음) –
브라우저는 '프리 플라이트'요청을하는 브라우저 외에도 서버를 사양에 맞게 조정해야 할 수도 있습니다. CORS 프리 플라이트 OPTIONS 요청에 자격 증명을 보내지 않습니다. 그리고 분명히 어딘가에 응용 프로그램 코드에, 당신은'/ api/v1/support/graphql' 경로에 대한 인증이 필요합니다. POST 요청에 대해서는 괜찮습니다. 프론트 엔드 코드가 그 POST의 일부로 자격증 명을 보내는 경우, 예상대로 작동합니다. OPTIONS 요청에는 문제가 없습니다. 인증을 요구하는 서버 없이는 자격 증명없이 작동해야합니다. – sideshowbarker