así que he estado siguiendo esta documentación sobre Administrar cookies de sesión en firebase , seguí su ejemplo casi exactamente (hice algunos ajustes aquí). de todos modos, todo iba como se esperaba, excepto cerrar la sesión del usuario, cerré la sesión del usuario limpiando las cookies y usando el método revokeRefreshTokens() (como lo hicieron en la documentación):
router.get("/logout", async (req, res) => { const sessionCookie = req.cookies.session || ""; res.clearCookie("session") try { const decodedClaims = await admin.auth().verifySessionCookie(sessionCookie); await admin.auth().revokeRefreshTokens(decodedClaims.sub); res.redirect("/login") } catch (e) { req.flash("error", "Already logged out") res.redirect("back"); } }); el problema aquí es cuando el usuario cierra la sesión e inmediatamente intenta volver a iniciar sesión, no puede y aparece este error en mi servidor: The provided Firebase ID token is expired , el usuario debe esperar entre 30 y 50 segundos para que pueda volver a iniciar sesión
Entonces mis preguntas son:
revokeRefreshTokens() para cerrar la sesión del usuario?Nota: En la documentación, usaron el SDK del cliente para autenticar al usuario. En su lugar, usé la API REST de autenticación (en el backend, por supuesto).