Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

202
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!