Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

243
Views
El control de acceso permite que el origen sea siempre * cuando las credenciales son verdaderas

estoy construyendo una api de graphql usando apollo-server-express . Estoy usando jwt y cookies para la autenticación, por lo que en mis opciones cors, las credentials se establecen en verdadero, la cuestión es que, cuando las credentials se establecen en verdadero, Access-Control-Allow-Origin siempre es * , incluso si configuro el origin en mi cors opciones, todavía es * .

aquí está mi middleware:

 app.use( cors({ origin: "https://studio.apollographql.com", credentials: true, }) ); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json({ limit: "2mb" })); app.use(cookieParser());

Para reproducir necesita un servidor graphql y express.

 // Initialize dotenv dotenv.config(); // Get env variables const PORT = process.env.PORT || 5000; // Create express server const app = express(); // Express server middleware app.use( cors({ credentials: true, origin: "https://studio.apollographql.com", }) ); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json({ limit: "2mb" })); app.use(cookieParser()); // Create new apollo server const gqlServer = new ApolloServer({ typeDefs: [typedefs], resolvers: { ...resolvers }, context: ({ req, res }: ContextType) => { // const { isValid, userData } = verifyToken(req.cookies?.xToken); return { // isLoggedIn: isValid, // userData: userData, req, res, }; }, }); (async () => { await gqlServer.start(); gqlServer.applyMiddleware({ app }); app.listen(PORT, () => { console.log(`Server listening on port ${PORT}`); }); })();

Luego, debe ir a localhost:5000/graphql , tocar query your server e ir a apolo. En Apollo Studio, en la parte superior izquierda, donde se muestra su URL (debe ser localhost:5000 ), debe haber un pequeño icono de engranaje (icono de configuración), puede tocarlo, luego ir a include cookies y configurarlo. Eso es todo, si ingresa a las herramientas de desarrollo en la pestaña de red, verá los errores cors de su servidor localhost:5000 y el valor de Access-Control-Allow-Origin es * . Por cierto, necesita configurar algunos resolutores y definiciones de tipos.

Actualizar

Resolví el problema, también necesitaba aplicar el cors middleware a mi servidor graphql.

 gqlServer.applyMiddleware({ app, cors: { origin: "https://studio.apollographql.com", credentials: true, }, });
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!