Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

120
Visualizações
Redirección con un encabezado

Yo uso node js y express js. Quiero asegurarme de que si app.get no tiene un parámetro de token, cargue un archivo html con js que pasará el token. Y si se pasó el token, muestre otro archivo html.

Pero no se como hacer una redirección desde el cliente con la transferencia de una cabecera con un token

Servidor:

 app.get("/admin-cp/:page", function (req, res) { const idToken = req.headers.authorization; if (!idToken) { return res.sendFile(path.join(initial_path, "admin-cp/loader.html")); //return res.status(401).send("Unauthorized") } const sessionCookie = req.cookies.session || ""; admin .auth() .verifySessionCookie(sessionCookie, true ) .then((userData) => { console.log("Logged in:", userData.email) console.log('Авторизован. Доступ в админ панель открыт') admin .auth() .verifyIdToken(idToken) .then((claims) => { if (claims.admin === true) { console.log('Зашёл с правами администратора', req.params.page); if (req.params.page === 'analytics') { console.log("Open analytics"); res.sendFile(path.join(initial_path, "admin-cp/main-admin_cp.html")); //res.render(path.join(initial_path, "admin-cp/main-admin_cp.html")); //res.redirect('/admin-cp/home'); } } else if (claims.admin === false) { console.log('Зашёл без прав администратора'); //res.sendFile(path.join(initial_path, "admin-cp/global_not_permission.html")); res.redirect('/'); } }); }) .catch((error) => { console.log('Не авторизован. Ошибка', error, ' отсутвует userData') res.redirect("/login"); }); });

Traté de hacer con "buscar":

 const res = await fetch('/admin-cp/analytics', { headers: { authorization: idToken }, redirect: 'follow' }) .then(res => { console.log(res); if (res.redirected) { document.location = res.url; } })

Pero después de todas las acciones, res.sendFile no se actualiza

ayudar con cualquier consejo. por favor

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La secuencia de eventos es así.

  1. Realiza una solicitud de fetch , incluido un encabezado de authorization , a la URL
  2. El servidor responde con una redirección.
  3. El navegador sigue la redirección y realiza una solicitud de fetch a la nueva URL (no tengo idea si incluye el encabezado de authorization nuevamente aquí)
  4. El servidor responde con algo que ignoras en su mayoría.
  5. Leíste la URL a la que se redirigió la fetch
  6. Asigna esa URL a document.location lo que hace que el navegador realice una nueva solicitud GET a esa URL (definitivamente sin un encabezado de authorization ).
  7. El código del lado del servidor envía res.sendFile(path.join(initial_path, "admin-cp/loader.html")) porque no hay un encabezado de authorization .

No puede hacer que el navegador navegue e incluya un encabezado de authorization .

Si desea realizar la autenticación mientras navega: Utilice cookies en su lugar.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda