IIC2513-2020-1 / syllabus

Material del curso
35 stars 3 forks source link

Error de CORS haciendo FETCH desde un componente REACT hacia una ruta definida en KOA #152

Closed BenjaPrograma closed 4 years ago

BenjaPrograma commented 4 years ago

Hola! Estamos trabajando en hacer forms en REACT, para lo que necesitamos enviar con fetch los datos desde REACT hacia KOA, pero me tira un error de cors

Solicitud de origen cruzado bloqueada: La misma política de origen no permite la lectura de recursos remotos en https://localhost:3000/comentarios/. (Razón: Solicitud CORS no exitosa)

Busque en internet e instale @koa/cors, para solucionar el problema, https://github.com/koajs/cors y seguí los pasos, agregando la linea app.use(cors()) en el app.js, para habilitar CORS, pero aun asi me sigue arrojando el mismo error. Lo probe desde POSTMAN y me funciona perfecto, haciendolo desde el navegador no me funciona.

gpvidal commented 4 years ago

Hola @BenjaPrograma ,

Ojo, no tenemos configurado https en el proyecto. Revisa la URL a la que estás haciendo fetch :wink:

Saludos,

BenjaPrograma commented 4 years ago

Hola @gpvidal,

Hago fetch a localhost:3000/XXXX/ y no me deja entrar, pero por postman lo hace sin problemas, junto con lo del mensaje de CORS, me hace pensar que era un problema por CORS, todavia no me deja entrar.

Saludos y gracias por tu respuesta.

EDIT: Por otro lado me surge la duda, https sigue sin configurar aun cuando se hace el deploy a heroku?

gpvidal commented 4 years ago

No omitas el http, deberías hacer fetch a http://localhost:3000/XXXX/. En algunos casos por defecto lo hace por https.

Y yep, en Heroku no está habilitado el https.

Saludos,

domingo-valdes commented 4 years ago

@BenjaPrograma pudiste solucionar el problema? Estoy en las mismas desde hace rato

gpvidal commented 4 years ago

@domingo-valdes , puedes explicar qué es lo que quieres hacer y de donde a donde estás haciendo los requests?

Saludos,

domingo-valdes commented 4 years ago

Hola Profesor! Hice una segunda app completamente distinta e independiente de la hecha a comienzo del curso, que estoy corriendo en localhost, y estoy haciendo un fetch a mi app original en Heroku. Estoy haciendo la auteticación para recibir el jwt como vimos en clases

gpvidal commented 4 years ago

Instalaste @koa/cors?

domingo-valdes commented 4 years ago

Sí, y al igual que Benjamín más arriba estoy usando app.use(cors()) en el app.js

gpvidal commented 4 years ago

Y qué error te tira?

domingo-valdes commented 4 years ago

imagen Hasta donde entiendo poner no-cors no es buena idea porque no podría leer el body de la respuesta

gpvidal commented 4 years ago

E hiciste push a heroku después de haber instalado @koa/cors?

domingo-valdes commented 4 years ago

En la app original no. Voy a intentar eso!

domingo-valdes commented 4 years ago

Funcionó! Muchísimas gracias profe!