public void Login(string dominio, string usuario, string clave) { string claveEncriptada = ""; string secret = Environment.GetEnvironmentVariable("ENCRIPT_SECRET"); claveEncriptada = Helper.Instance.Encripta(clave, secret); var plainTextBytes = Encoding.UTF8.GetBytes(claveEncriptada); claveEncriptada = Convert.ToBase64String(plainTextBytes); ValidacionUsuario respuesta = new ValidacionUsuario(); try { string urlBase = Environment.GetEnvironmentVariable("LOGIN_BASEURL"); string urlRelativa = Environment.GetEnvironmentVariable("LOGIN_URLRELATIVA"); if (String.IsNullOrEmpty(urlBase) || String.IsNullOrEmpty(urlRelativa)) { Console.WriteLine("Error, debe definir variables LOGIN_BASEURL y LOGIN_URLRELATIVA"); throw new Exception("Error configuración"); } Uri uriBase = new Uri(urlBase); var client = new ApiClient(uriBase); string parametros = "{\"dominio\" : \"" + dominio + "\",\"usuario\" : \"" + usuario + "\", \"clave\" : \"" + claveEncriptada + "\"}"; StringContent json = new StringContent(parametros, Encoding.UTF8, "application/json"); string url = urlBase + urlRelativa; respuesta = client.Post(url, json); } catch (Exception ex) { respuesta.EstadoValidacion = 0; respuesta.Mensaje = "Ocurrió un error inesperado." + ex.Message; } if (respuesta.EstadoValidacion == 1) { Clients.Caller.SendAsync("loginResult", 1, respuesta.UsuarioAD.Nombre, respuesta.UsuarioAD.Cuenta, respuesta.Token); } else { Clients.Caller.SendAsync("loginResult", 0, respuesta.Mensaje); } }
private string GenerateJSONWebToken(ValidacionUsuario usuario) { var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"])); var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256); var claims = new[] { new Claim("Nombre", usuario.UsuarioAD.Nombre), new Claim("Intentos_Login_Fallidos", usuario.UsuarioAD.Intentos_Login_Fallidos.ToString()) }; var token = new JwtSecurityToken(_config["Jwt:Issuer"], _config["Jwt:Issuer"], claims, expires: DateTime.Now.AddMinutes(120), signingCredentials: credentials); return(new JwtSecurityTokenHandler().WriteToken(token)); }
public IActionResult Login(AutenthicationInfo dataLogin) { ValidacionUsuario respuesta = new ValidacionUsuario(); try { IActionResult response = Unauthorized(); string urlBase = Environment.GetEnvironmentVariable("LOGIN_BASEURL"); string urlRelativa = Environment.GetEnvironmentVariable("LOGIN_URLRELATIVA"); if (String.IsNullOrEmpty(urlBase) || String.IsNullOrEmpty(urlRelativa)) { Console.WriteLine("Error, debe definir variables LOGIN_BASEURL y LOGIN_URLRELATIVA"); throw new Exception("Error configuración"); } Uri uriBase = new Uri(urlBase); var client = new ApiClient(uriBase); var parametros = new Dictionary <string, string> { { "dominio", dataLogin.dominio }, { "usuario", dataLogin.usuario }, { "clave", dataLogin.clave } }; var request = new FormUrlEncodedContent(parametros); string url = urlBase + urlRelativa; respuesta = client.Post(url, request); if (respuesta.EstadoValidacion == 1) { respuesta.Token = GenerateJSONWebToken(respuesta); } } catch (Exception ex) { respuesta.EstadoValidacion = 0; respuesta.Mensaje = "Ocurrió un error inesperado." + ex.Message; } return(Ok(respuesta)); }
public async Task <IActionResult> Login(LoginViewModel model) { ValidacionUsuario respuesta = new ValidacionUsuario(); try { IActionResult response = Unauthorized(); string urlBase = Environment.GetEnvironmentVariable("SERVICIOAD_BASEURL"); string urlRelativa = Environment.GetEnvironmentVariable("SERVICIOAD_URLRELATIVA"); if (String.IsNullOrEmpty(urlBase) || String.IsNullOrEmpty(urlRelativa)) { Console.WriteLine("Error, debe definir variables SERVICIOAD_BASEURL y SERVICIOAD_URLRELATIVA"); throw new Exception("Error configuración"); } Uri uriBase = new Uri(urlBase); var client = new ApiClient(uriBase); var parametros = new Dictionary <string, string> { { "dominio", model. }, { "usuario", usuario },