Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

241
Vistas
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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda