Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

247
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda