Exemple #1
0
        public static string GenerateTokenJwt(Cliente cliente, string secretKey, string audienceToken, string issuerToken, string expireTime, Mapeo _context)
        {
            //TODO: appsetting for Demo JWT - protect correctly this settings
            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, cliente.Usuario),
                new Claim(ClaimTypes.Role, cliente.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);

            ClienteTokenLogin token = new ClienteTokenLogin();

            token.FechaGenerado = DateTime.Now;
            token.FechaVigencia = DateTime.Now.AddMinutes(Convert.ToInt32(expireTime));
            token.IdCliente     = cliente.IdCliente;
            token.Token         = jwtTokenString;
            new LCliente(_context).guardarToken(token);
            return(jwtTokenString);
        }
 //Guarda token de login (S)
 public async Task almacenarTokenLogin(ClienteTokenLogin token)
 {
     using (var db = new MapeoCliente())
     {
         db.tokenLogin.Add(token);
         await db.SaveChangesAsync();
     }
 }
 //Guarda token de login (S)
 public async Task almacenarTokenLogin(ClienteTokenLogin token)
 {
     using (var db = _context)
     {
         db.tokenLoginCl.Add(token);
         await db.SaveChangesAsync();
     }
 }
 //Elimina token al eliminar cuenta y cerrar sesion (S)
 public async Task eliminarToken(ClienteTokenLogin token)
 {
     using (var db = new MapeoCliente())
     {
         ClienteTokenLogin tokenC = db.tokenLogin.Where(x => x.IdCliente == token.IdCliente).FirstOrDefault();
         db.tokenLogin.Remove(tokenC);
         await db.SaveChangesAsync();
     }
 }
Exemple #5
0
 //Elimina token al eliminar cuenta y cerrar sesion (S)
 public async Task eliminarToken(ClienteTokenLogin token)
 {
     using (var db = _context)
     {
         ClienteTokenLogin tokenC = db.tokenLoginCl.Where(x => x.IdCliente == token.IdCliente).First();
         db.tokenLoginCl.Remove(tokenC);
         await db.SaveChangesAsync();
     }
 }
Exemple #6
0
        public async Task <ActionResult> delEliminarToken(string usuario)
        {
            Cliente           cliente   = new LCliente(_context).mostrarDatosLogin(usuario);
            int               idCliente = cliente.IdCliente;
            ClienteTokenLogin token     = new ClienteTokenLogin();

            token.IdCliente = idCliente;
            await new LEliminarCliente(_context).eliminarToken(token);
            return(Ok("El token fue eliminado"));
        }
Exemple #7
0
 public async Task <IHttpActionResult> delEliminarToken(string usuario)
 {
     try {
         Cliente           cliente   = new LCliente().mostrarDatosLogin(usuario);
         int               idCliente = cliente.IdCliente;
         ClienteTokenLogin token     = new ClienteTokenLogin();
         token.IdCliente = idCliente;
         await new LEliminarCliente().eliminarToken(token);
         return(Ok("El token fue eliminado"));
     }catch (Exception ex)
     {
         return(BadRequest("el usuario no existe"));
     }
 }
        public static string GenerateTokenJwt(Cliente cliente)
        {
            //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, cliente.Usuario),
                new Claim(ClaimTypes.Role, cliente.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);

            ClienteTokenLogin token = new ClienteTokenLogin();

            token.FechaGenerado = DateTime.Now;
            token.FechaVigencia = DateTime.Now.AddMinutes(Convert.ToInt32(expireTime));
            token.IdCliente     = cliente.IdCliente;
            token.Token         = jwtTokenString;
            new LCliente().guardarToken(token);
            return(jwtTokenString);
        }
Exemple #9
0
 public async Task eliminarToken(ClienteTokenLogin token) //S
 {
     await new DaoCliente(_context).eliminarToken(token);
 }
 public async Task  guardarToken(ClienteTokenLogin token) //S
 {
     await new DaoSeguridadCliente(_context).almacenarTokenLogin(token);
 }