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

203
Vistas
¿Cómo extraer el nombre de la página y el token de autenticación de la url usando la ruta express get en nodejs?

Tengo una URL como esta: http://localhost:3000/pageName y estoy configurando mi ruta expresa como se muestra a continuación:

 app.get("/:pageName",(req,res)=>{ if (authentication === true) { res.render(req.param.pageName} })

Lo anterior funciona bien cuando obtiene http://localhost:3000/demo .

Sin embargo, cuando obtiene este tipo de URL: http://localhost:3000/pageName/authToken como:

http://localhost:3000/demo/ubawfei346876jhat78gw8898ig8837yr

La ruta dice que no se puede obtener demo/ubawfei346876jhat78gw8898ig8837yr y cuando cambié el código anterior a esto:

 app.get("/:pageName/: authToken",(req,res) => { if(authentication===true{ res.render(req.param.pageName} )}

Entonces este tipo de URL funciona bien: http://localhost:3000/demo/ubawfei346876jhat78gw8898ig8837yr

Pero este tipo de URL: http://localhost:3000/demo ya no funciona

Me gustaría implementar algo como esto cuando la URL es algo como esto

http://localhost:3000/demo entonces debería redirigir a:

req.params.pageName

Y cuando la url se ve así http://localhost:3000/demo/yeieyhsi736hdh , entonces debería varificar el token si varificado redirigir a:

req.params.pageName

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede implementar ambas rutas y, si se proporciona un authToken de autenticación, ejecute una verificación en el authToken de autenticación.

Sin embargo, la forma en que lo está haciendo en este momento provocaría una redirección interminable, ya que cuando se realiza cualquier solicitud a su /:pageName , se redirigiría a sí mismo, por lo que debe proporcionar una response con su contenido desde dentro de la ruta, no una redirect .

 app.get("/:pageName", (req, res) => { if (authentication) { let pageName = req.params.pageName; //Retrieve something with pageName and send it; res.send(pageName); } else { res.send("Not authorised"); } }) app.get("/:pageName/:authToken", (req, res) => { let authToken = req.params.authToken; if (isGood(authToken) && authentication) { //Fictious authToken check let pageName = req.params.pageName; //Retrieve something with pageName and send it; res.send(pageName); } else { res.send("Not authorised"); } })
over 4 years ago · Santiago Trujillo Denunciar

0

Haga su URL como esta http://localhost:3000/demo?token=As3ferrfmi5jr4jr4btdth54y6y6rty34t45t5y666666

 app.get('/:pageName', (req, res) => { //you can check if pageName is correct or not if (req.query.token != undefined) { const token = req.query.token; // we must use strong secret, I am using "secret" for demo jwt.verify(token,"secret", (err,data) => { if (err) { //do something if error occurs } else { // you can also do something with data which was stored on your token res.render(req.params.pageName); } }) } else if (authenticate) { // do something for authentication to access this else if res.render(req.params.pageName); } else { // you can also render some error page or send 404 status res.send('Something went wrong!'); } });
over 4 years ago · Santiago Trujillo 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