public Respuesta validarCredenciales(string user, string password) { AutenticacionRequest request = new AutenticacionRequest() { Clave = password, CorreoElectronico = user }; Respuesta response = new Respuesta(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(ServicioCommon.Parametros.URLServicio); HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8); httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var responseTask = client.PostAsync("api/Autenticar", httpContent); responseTask.Wait(); var result = responseTask.Result; if (result.IsSuccessStatusCode) { var usuarioResponse = result.Content.ReadAsStringAsync().Result; response = JsonConvert.DeserializeObject <Respuesta>(usuarioResponse); } } return(response); }
// POST: api/ColaboradorAutenticacion public IHttpActionResult Post([FromBody] AutenticacionRequest request) { AutenticacionResponse objresponse = new AutenticacionResponse(); objresponse.status = new ProcesoResponse(); try { var usuario = BD.t_usuario.FirstOrDefault(x => x.usua_email == request.CorreoElectronico && request.Clave == x.usua_pass); if (usuario != null) { if (usuario.usua_esta == false) { objresponse.status.estado = 2; objresponse.status.mensaje = "Su cuenta no esta activo"; } else { objresponse.status.estado = 0; objresponse.CodigoUsuario = usuario.usua_id; objresponse.CorreoElectronico = usuario.usua_email; objresponse.status.mensaje = "Autenticado"; } } else { objresponse.CodigoUsuario = 0; objresponse.status.estado = 1; objresponse.status.mensaje = "No autenticado"; } } catch (Exception err) { objresponse.status.estado = -1; objresponse.status.mensaje = err.Message; throw err; } return(Ok(objresponse)); }
public UsuarioResponse Autenticacion(AutenticacionRequest Model) { UsuarioResponse usuarioResponse = new UsuarioResponse(); string Spassword = Utiles.GetSHA256(Model.Password); var Usuario = _db.Usuario.Where(u => u.Email == Model.Email && u.Contrasena == Spassword).FirstOrDefault(); if (Usuario == null) { return(null); } usuarioResponse.Email = Usuario.Email; usuarioResponse.Token = GetToken(Usuario); return(usuarioResponse); }
public string GenerateSoapRequestEnvelopeXmlContent(AutenticacionRequest autenticacionRequest, X509Certificate2 certificate) { var xmlDocument = new XmlDocument(); var envelopElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.S11Prefix, "Envelope", CfdiDescargaMasivaNamespaces.S11NamespaceUrl); envelopElement.SetAttribute($"xmlns:{CfdiDescargaMasivaNamespaces.S11Prefix}", CfdiDescargaMasivaNamespaces.S11NamespaceUrl); envelopElement.SetAttribute($"xmlns:{CfdiDescargaMasivaNamespaces.WsuPrefix}", CfdiDescargaMasivaNamespaces.WsuNamespaceUrl); xmlDocument.AppendChild(envelopElement); var headerElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.S11Prefix, "Header", CfdiDescargaMasivaNamespaces.S11NamespaceUrl); envelopElement.AppendChild(headerElement); var securityElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.WssePrefix, "Security", CfdiDescargaMasivaNamespaces.WsseNamespaceUrl); securityElement.SetAttribute("mustUnderstand", CfdiDescargaMasivaNamespaces.S11NamespaceUrl, "1"); headerElement.AppendChild(securityElement); var timestampElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.WsuPrefix, "Timestamp", CfdiDescargaMasivaNamespaces.WsuNamespaceUrl); timestampElement.SetAttribute("Id", CfdiDescargaMasivaNamespaces.WsuNamespaceUrl, "_0"); securityElement.AppendChild(timestampElement); var createdElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.WsuPrefix, "Created", CfdiDescargaMasivaNamespaces.WsuNamespaceUrl); createdElement.InnerText = autenticacionRequest.TokenCreatedDateUtc.ToSoapSecurityTimestampString(); timestampElement.AppendChild(createdElement); var expiresElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.WsuPrefix, "Expires", CfdiDescargaMasivaNamespaces.WsuNamespaceUrl); expiresElement.InnerText = autenticacionRequest.TokenExpiresDateUtc.ToSoapSecurityTimestampString(); timestampElement.AppendChild(expiresElement); var binarySecurityTokenElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.WssePrefix, "BinarySecurityToken", CfdiDescargaMasivaNamespaces.WsseNamespaceUrl); binarySecurityTokenElement.SetAttribute("Id", CfdiDescargaMasivaNamespaces.WsuNamespaceUrl, autenticacionRequest.Uuid.ToBinarySecurityTokenId()); binarySecurityTokenElement.SetAttribute("ValueType", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"); binarySecurityTokenElement.SetAttribute("EncodingType", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"); binarySecurityTokenElement.InnerText = Convert.ToBase64String(certificate.RawData); securityElement.AppendChild(binarySecurityTokenElement); var securityTokenReferenceElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.WssePrefix, "SecurityTokenReference", CfdiDescargaMasivaNamespaces.WsseNamespaceUrl); var securityTokenReferenceReferenceElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.WssePrefix, "Reference", CfdiDescargaMasivaNamespaces.WsseNamespaceUrl); var valueType = xmlDocument.CreateAttribute("ValueType"); valueType.Value = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"; securityTokenReferenceReferenceElement.Attributes.Append(valueType); var encodingType = xmlDocument.CreateAttribute("URI"); encodingType.Value = $"#{autenticacionRequest.Uuid.ToBinarySecurityTokenId()}"; securityTokenReferenceReferenceElement.Attributes.Append(encodingType); securityTokenReferenceElement.AppendChild(securityTokenReferenceReferenceElement); var signatureElement = SignedXmlHelper.SignAuthenticationRequest(timestampElement, certificate, "#_0", securityTokenReferenceElement); securityElement.AppendChild(signatureElement); var bodyElement = xmlDocument.CreateElement(CfdiDescargaMasivaNamespaces.S11Prefix, "Body", CfdiDescargaMasivaNamespaces.S11NamespaceUrl); envelopElement.AppendChild(bodyElement); var autenticaElement = xmlDocument.CreateElement("Autentica"); autenticaElement.SetAttribute("xmlns", "http://DescargaMasivaTerceros.gob.mx"); bodyElement.AppendChild(autenticaElement); return(xmlDocument.OuterXml); }