Estaba buscando esa solución y encontré esta página. La pregunta es cómo verificar el estado de inicio de sesión en el lado del cliente.
Después de iniciar sesión, oculto el botón Iniciar sesión y muestro el botón Cerrar sesión. En la actualización de la página, vuelvo a ver el botón de inicio de sesión en lugar del botón de cierre de sesión. La única solución es guardar un elemento en sessionStorage si está usando session (y localStorage si está usando JWT). Elimine este elemento cuando cierre la sesión. Luego, en cada carga de la página, verifique este elemento de sessionStorage y hágalo en consecuencia.
if (sessionStorage.getItem('status')) {
$("#btnlogout").show();
$("#btnlogin").hide();
// or what ever you want to do
} else {
$("#btnlogout").hide();
$("#btnlogin").show();
}
function Login() {
var data = {
username: $("#myModal #usr").val(),
password: $("#myModal #pw").val()
};
$.ajax({
type: 'POST',
url: '/login',
contentType: 'application/JSON; charset=utf-8',
data: JSON.stringify(data),
success: funcSuccess,
error: funcFail
});
function funcSuccess(res) {
sessionStorage.setItem('status', 'loggedIn');
$("#btnlogout").show();
$("#btnlogin").hide();
}
function funcFail() { $("#pp").text('Login Failed'); };
};
function Logout() {
$.ajax({
type: 'GET',
url: '/logout',
contentType: 'application/JSON; charset=utf-8',
success: funcSuccess,
error: funcFail,
});
function funcSuccess(res) {
$("#btnlogout").hide();
$("#btnlogin").show();
sessionStorage.removeItem("status");
};
function funcFail() { alert('Login method Failed'); };
};
app.get
,app.post
etc. Si necesita una funcionalidad diferente, debe explicarla en detalle en su pregunta, así como lo que está tratando de lograr.