es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de middleware de concesión de Strapi v4 al configurar proveedores.

En Strapi v4, intenté configurar el proveedor de autenticación de Discord siguiendo la última documentación. Configuré las claves y todo, pero cuando intento acceder a /api/connect/discord estoy obteniendo este error:

Grant: monta primero el middleware de sesión

Investigué un poco y descubrí que Strapi necesita usar grant como middleware primero para poder utilizarlo. Así que revisé /config/middleware.js:

module.exports = [
  'strapi::errors',
  'strapi::security',
  'strapi::cors',
  'strapi::poweredBy',
  'strapi::logger',
  'strapi::query',
  'strapi::body',
  'strapi::favicon',
  'strapi::public',
];

Faltaba grant, así que intenté crear un middleware personalizado de grant global, pero necesito obtener la instancia de la aplicación y hacer lo siguiente:

app.use(session({secret:'grant'}));
app.use(grant);

¿Cómo puedo lograr esto? ¿O si alguien tiene alguna idea para solucionar el problema anterior?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que necesitas utilizar Grant como un middleware antes de poder usarlo en Strapi v4. Puedes agregar el middleware de Grant a tu archivo middleware.js de la siguiente manera:

    const grant = require("grant");
    const session = require("express-session");
    
    module.exports = [
      'strapi::errors',
      'strapi::security',
      'strapi::cors',
      'strapi::poweredBy',
      'strapi::logger',
      'strapi::query',
      'strapi::body',
      'strapi::favicon',
      'strapi::public',
      (app) => {
        app.use(session({secret:'grant'}));
        app.use(grant.express()(app));
      },
    ];
    

    Esto debería permitirte utilizar Grant como un middleware y resolver el error “Grant: mount session middleware first” que estabas encontrando.

    Si todavía encuentras problemas, es posible que haya otros problemas que deben resolverse. Puedes consultar la documentación de Strapi o buscar ayuda en la comunidad de Strapi para obtener más asistencia.

Comments are closed.