Пример #1
0
        public EmailSenderRepository(IConnectionSQL context)
            : base(context)
        {

            Options = context.ExecuteSqlViewId<BE_ParametroSistema>(SP_GET_ID, new BE_ParametroSistema { IdParametrosSistema = 0 });

            Options.SendEmailPasswordOrigen = EncriptaHelper.DecryptStringAES(Options.SendEmailPassword);

            Cliente = new SmtpClient()
            {
                Host = Options.SendEmailHost,
                Port = (int)Options.SendEmailPort,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential(Options.SendEmail, Options.SendEmailPasswordOrigen),
                EnableSsl = (bool)Options.SendEmailEnabledSSL,
            };
        }
Пример #2
0
        // [AllowAnonymous]
        public IActionResult Validate([FromBody] UsuarioLoginRequest request)
        {
            Usuario user = _usuarioServices.RecuperarPorLogin(request.login);

            // Mala practica, poner solo un mensaje para ambos casos
            if (user == null)
            {
                return(BadRequest("El usuario no existe"));
            }
            if (EncriptaHelper.Decrypt(user.clave) != request.clave)
            {
                return(BadRequest("La clave no coincide"));
            }

            #region Token
            // Generar las claims
            Claim[] claims = new[] {
                new Claim("codigo", user.idtipousuario.ToString()),
                new Claim("login", user.login)
            };
            // Generar SigningCredentials
            SymmetricSecurityKey key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("PalabraSecreta123"));
            SigningCredentials   sec = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            JwtSecurityToken token = new JwtSecurityToken(
                issuer: "yourdomain.com",
                audience: "yourdomain.com",
                claims: claims,
                expires: DateTime.Now.AddMinutes(10),
                signingCredentials: sec
                );
            string texto = new JwtSecurityTokenHandler().WriteToken(token);
            #endregion

            UsuarioLoginResponse response = new UsuarioLoginResponse
            {
                idusuario  = user.idusuario,
                rutaimagen = user.rutaimagen,
                token      = texto
            };
            return(Ok(response));
        }
Пример #3
0
        public UsuarioInsertarResponse Insertar(UsuarioInsertarRequest request)
        {
            byte[]  clave   = EncriptaHelper.EncryptToByte(request.clave);
            Usuario usuario = new Usuario
            {
                clave          = clave,
                login          = request.login,
                nombrecompleto = request.nombrecompleto,
                rutaimagen     = request.rutaimagen,
                idtipousuario  = request.idtipousuario
            };

            _context.Usuario.Add(usuario);
            _context.SaveChanges();
            return(new UsuarioInsertarResponse
            {
                idusuario = usuario.idusuario,
                login = usuario.login
            });
        }