añadido logging de cerrar sesion + invalidacion de token
This commit is contained in:
@@ -53,6 +53,26 @@ public class LoginController: ControllerBase
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpDelete("/api/logout")]
|
||||||
|
public IActionResult CerrarSesion([FromHeader(Name = "Auth")]string Auth){
|
||||||
|
var cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
|
||||||
|
if (cli == null ) return BadRequest(new { message = "No hay un cliente con ese token" });
|
||||||
|
|
||||||
|
var log = new LoginDto {
|
||||||
|
Email = cli.Email,
|
||||||
|
Contraseña = "",
|
||||||
|
};
|
||||||
|
|
||||||
|
string tokenString = GenerarToken(log);
|
||||||
|
|
||||||
|
try{
|
||||||
|
RepositorioUsuarios.Singleton.GuardarToken(log, tokenString, Request.HttpContext.Connection.RemoteIpAddress, "Cerrar Sesión");
|
||||||
|
} catch {
|
||||||
|
return BadRequest( new { message = "Fallo al cambiar el token" } );
|
||||||
|
}
|
||||||
|
return Ok(new { message = "Se Cerro la sesion" });
|
||||||
|
}
|
||||||
|
|
||||||
private string GenerarToken(LoginDto loginDto){
|
private string GenerarToken(LoginDto loginDto){
|
||||||
var tokenHandler = new JwtSecurityTokenHandler();
|
var tokenHandler = new JwtSecurityTokenHandler();
|
||||||
var key = Encoding.ASCII.GetBytes("ffb2cdc15d472e41a5b626e294c45020");
|
var key = Encoding.ASCII.GetBytes("ffb2cdc15d472e41a5b626e294c45020");
|
||||||
|
|||||||
@@ -80,10 +80,20 @@
|
|||||||
localStorage.setItem("theme", theme);
|
localStorage.setItem("theme", theme);
|
||||||
};
|
};
|
||||||
|
|
||||||
function cerrarSesion() {
|
async function cerrarSesion() {
|
||||||
localStorage.removeItem("email");
|
try{
|
||||||
sessionStorage.removeItem("token");
|
const req = await fetch($urlG+"/api/logout", {
|
||||||
navigate("/");
|
method: "DELETE",
|
||||||
|
headers: {
|
||||||
|
"Auth": token || "",
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}finally{
|
||||||
|
localStorage.removeItem("email");
|
||||||
|
sessionStorage.removeItem("token");
|
||||||
|
navigate("/");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user