recursos-catolicos/js/auth.js

55 lines
1.5 KiB
JavaScript

// ================================
// UTILIDADES DE AUTENTICACIÓN
// ================================
/** Devuelve el token JWT o null si no hay sesión. */
function getToken() {
return localStorage.getItem("token");
}
/** Devuelve el objeto usuario guardado en sesión, o null. */
function getUsuario() {
const u = localStorage.getItem("usuario");
return u ? JSON.parse(u) : null;
}
/**
* Verifica que el usuario esté autenticado.
* Si no lo está, redirige a login.html y devuelve null.
*/
function verificarAuth() {
if (!getToken()) {
window.location.href = "login.html";
return null;
}
return getUsuario();
}
/** Cierra la sesión eliminando los datos locales y redirige al login. */
function cerrarSesion() {
localStorage.removeItem("token");
localStorage.removeItem("usuario");
window.location.href = "login.html";
}
/**
* Muestra el nombre del usuario y el botón de cerrar sesión en el header.
* Llama a esta función después de cargar el header.
*/
function mostrarSesionEnHeader() {
const usuario = getUsuario();
const contenedor = document.getElementById("header-sesion");
if (!contenedor) return;
if (usuario) {
contenedor.innerHTML = `
<span class="header-usuario">👤 ${usuario.nombre}</span>
<button class="btn-cerrar-sesion" onclick="cerrarSesion()">Salir</button>
`;
} else {
contenedor.innerHTML = `
<a href="login.html" class="btn-sesion">Iniciar sesión</a>
`;
}
}