//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"));
        }
Exemple #4
0
        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);
 }