>

/api/v1/support/* 와 일치하는 POST 요청에 대해 모든 엔드 포인트에서 CORS를 활성화해야합니다.  경로.

/api/v1/support/graphql 에 POST 요청을하고 있습니다  자격 증명이 true이지만 프리 플라이트 요청 (옵션)은 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);

  • 답변 # 1

    이걸 시도해주세요. 액세스 제어 설정

    const app = express();
    const corsOptions = {
      origin(origin, callback) {
        callback(null, true);
      },
      credentials: true
    };
    app.use(cors(corsOptions));
    var allowCrossDomain = function(req, res, next) {
      res.header('Access-Control-Allow-Origin', '*');
      res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
      res.header('Access-Control-Allow-Headers', 'Content-Type,token');
      next();
    }
    app.use(allowCrossDomain);
    
    

    이것이 도움이 될 수 있습니다

  • 이전 ruby - Rails에서 제출 버튼을 클릭 한 후에 만 ​​각 루프를 시작하려면 어떻게해야합니까?
  • 다음 dependency injection - ioc/di가 포함 된 ravendb - idocumentstore 또는 i (async) documentsession?