Quiero asegurarme de que cuando vaya a las direcciones /admin-cp o sus subpáginas /admin-cp/analytics o /admin-cp/users , se verifique el acceso y se muestre la página correspondiente.
Lo hice cuando cambié a /admin-cp y abrí loader.html con un código js que lanza una solicitud al servidor con un token:
async function loadEdit(user) { const idToken = await user.getIdToken() const res = await fetch('/admin-cp/analytics', { headers: { authorization: idToken }, redirect: 'follow' }) /*.then(res => { if (res.redirected) { document.location = res.url; } })*/ console.log(res); return res; }Y el servidor verificó el token y mostró la página deseada:
app.get("/admin-cp", function (req, res) { res.sendFile(path.join(initial_path, "admin-cp/loader.html")); }); app.get("/admin-cp/:page", function (req, res) { const idToken = req.headers.authorization; if (!idToken) 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")); } } else if (claims.admin === false) { console.log('Зашёл без прав администратора'); res.sendFile(path.join(initial_path, "admin-cp/global_not_permission.html")); } }); }) .catch((error) => { console.log('Не авторизован. Ошибка', error, ' отсутвует userData') res.redirect("/login"); }); });Pero nada pasa. El token se verifica, pero la página no se muestra.