//Guarda token de login (S) public async Task almacenarTokenLogin(AdministradorTokenLogin token) { using (var db = new MapeoAdministrador()) { db.tokenLogin.Add(token); await db.SaveChangesAsync(); } }
//Elimina token al cerrar sesion (S) public async Task eliminarToken(AdministradorTokenLogin token) { using (var db = new MapeoAdministrador()) { AdministradorTokenLogin tokenC = db.tokenLogin.Where(x => x.IdAdmin == token.IdAdmin).FirstOrDefault(); db.tokenLogin.Remove(tokenC); await db.SaveChangesAsync(); } }
public async Task <IHttpActionResult> delEliminarToken(string usuario) { Admin administrador = new LAdministrador().mostrarDatosLogin(usuario); int idAdmin; idAdmin = administrador.IdAdmin; AdministradorTokenLogin token = new AdministradorTokenLogin(); token.IdAdmin = idAdmin; await new LAdministrador().eliminarToken(token); return(Ok("El token fue eliminado")); }
public static string GenerateTokenJwt(Admin admin) { //TODO: appsetting for Demo JWT - protect correctly this settings //Llaves para permitir manipulación o cambios var secretKey = ConfigurationManager.AppSettings["JWT_SECRET_KEY"]; var audienceToken = ConfigurationManager.AppSettings["JWT_AUDIENCE_TOKEN"]; var issuerToken = ConfigurationManager.AppSettings["JWT_ISSUER_TOKEN"]; var expireTime = ConfigurationManager.AppSettings["JWT_EXPIRE_MINUTES"]; var securityKey = new SymmetricSecurityKey(System.Text.Encoding.Default.GetBytes(secretKey)); var signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature); // create a claimsIdentity ClaimsIdentity claimsIdentity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, admin.Usuario), new Claim(ClaimTypes.Role, admin.Rol.ToString()) }); // create token to the user var tokenHandler = new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler(); //Se crea objeto que tiene el estandar JWT var jwtSecurityToken = tokenHandler.CreateJwtSecurityToken( audience: audienceToken, issuer: issuerToken, subject: claimsIdentity, notBefore: DateTime.Now, //fecha de creación del token expires: DateTime.Now.AddMinutes(Convert.ToInt32(expireTime)), //fecha de expiración de token signingCredentials: signingCredentials); var jwtTokenString = tokenHandler.WriteToken(jwtSecurityToken); AdministradorTokenLogin token = new AdministradorTokenLogin(); token.FechaGenerado = DateTime.Now; token.FechaVigencia = DateTime.Now.AddMinutes(Convert.ToInt32(expireTime)); token.IdAdmin = admin.IdAdmin; token.Token = jwtTokenString; new LAdministrador().guardarToken(token); return(jwtTokenString); }
public async Task eliminarToken(AdministradorTokenLogin token) //S { await new DaoAdministrador().eliminarToken(token); }
public async Task guardarToken(AdministradorTokenLogin token) //S { await new DaoSeguridadAdmin().almacenarTokenLogin(token); }