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, }; }
// [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)); }
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 }); }