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

284
Vistas
Servidor Koa: cómo pasar datos en el servidor entre middlewares para poder pasarlos al front-end

En mi servidor, tengo la siguiente configuración para obtener los datos del usuario que ha iniciado sesión actualmente:

 const server = new Koa(); const router = new Router(); server.keys = [Shopify.Context.API_SECRET_KEY]; server.use( createShopifyAuth({ async afterAuth(ctx) { // Access token and shop available in ctx.state.shopify const { shop, accessToken, scope } = ctx.state.shopify; const client = new Shopify.Clients.Rest(shop, accessToken); const data = await client.get({ path: 'users/current', });

Estoy obteniendo los datos correctamente, pero me gustaría pasarlos al front-end. Intenté almacenar los datos en una variable global, intenté almacenar los datos en app.context e intenté almacenar los datos en ctx.state.

Mi idea es que podría obtener los datos y colocarlos en lo siguiente para poder realizar una solicitud de recuperación a este punto final/usuario:

 router.get('/user', (ctx,next) => { next(); console.log('check for ctx.state: ', ctx.state); })

Al final del día, necesito acceso a la tienda y accessToken desde la función Auth, por lo que necesito pasar los datos en lugar de realizar la solicitud de datos en la función router.get. No he trabajado con Koa antes, por lo que cualquier ayuda sería muy apreciada. ¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Me di cuenta de esto en caso de que esto pueda ser útil para alguien más:

dentro de la función server.use, tomé los datos y los almacené de la siguiente manera:

 server.context.db = data;

Este contexto le permite pasarlo a otros middlewares en toda la aplicación. Luego ctx.body = ctx.db.body en mi enrutador para poder usar una solicitud de recuperación para llegar a ese punto final

about 4 years ago · Juan Pablo Isaza Denunciar
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