public async Task <IActionResult> GetUserByCelular([FromBody] UsrLogin usr) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var usua = await _context.Usuarios. Include(p => p.Pue).Include(d => d.Dep).Include(c => c.Cla). FirstOrDefaultAsync(p => p.UsuTelefono == usr.Celular); if (usua != null) { if (usr.Contra == usua.UsuContra) { Usuarios nuevo = new Usuarios { UsuNombre = usua.UsuNombre, UsuId = usua.UsuId, UsuActivo = usua.UsuActivo, UsuClaveNomina = usua.UsuClaveNomina, UsuEmail = usua.UsuEmail, UsuRfc = usua.UsuRfc, UsuCurp = usua.UsuCurp, UsuDireccion = usua.UsuDireccion, UsuTelefono = usua.UsuTelefono, Dep = new AsisDepartamento { DepDescripcion = usua.Dep.DepDescripcion, DepId = usua.Dep.DepId }, Pue = new AsisPuesto { PueDescripcion = usua.Pue.PueDescripcion, PueId = usua.Dep.DepId }, Cla = new AsisClasificacion { ClaId = (int)usua.ClaId, ClaDescripcion = usua.Cla.ClaDescripcion }, UsuFechaInicial = usua.UsuFechaInicial, UsuNacimiento = usua.UsuNacimiento, UsuFoto = usua.UsuFoto }; var rep = new Response <Usuarios> { IsSuccess = true, Message = "", Result = nuevo }; return(Ok(rep)); } else { return(NotFound("Contraseña incorrecta")); } } else { return(NotFound("No existe el celular")); } }
public async Task <IActionResult> CreateToken([FromBody] UsrLogin model) { if (ModelState.IsValid) { Common.Entities.Usuarios user = await _dataContext.Usuarios.FirstOrDefaultAsync(u => u.UsuTelefono == model.Celular); if (user != null) { Claim[] claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, user.UsuTelefono), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()) }; SymmetricSecurityKey key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Tokens:Key"])); SigningCredentials credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); JwtSecurityToken token = new JwtSecurityToken( _configuration["Tokens:Issuer"], _configuration["Tokens:Audience"], claims, expires: DateTime.UtcNow.AddMonths(12), signingCredentials: credentials); var results = new { token = new JwtSecurityTokenHandler().WriteToken(token), expiration = token.ValidTo }; return(Created(string.Empty, results)); } else { return(BadRequest("No encontré: " + model.Celular)); } } return(BadRequest("Modelo inválido")); }
public async Task <Response <TokenResponse> > GetTokenAsync(string urlBase, string servicePrefix, string controller, UsrLogin request) { try { string requestString = JsonConvert.SerializeObject(request); StringContent content = new StringContent(requestString, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient { BaseAddress = new Uri(urlBase) }; string url = $"{servicePrefix}{controller}"; HttpResponseMessage response = await client.PostAsync(url, content); string result = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { return(new Response <TokenResponse> { IsSuccess = false, Message = result, }); } TokenResponse token = JsonConvert.DeserializeObject <TokenResponse>(result); return(new Response <TokenResponse> { IsSuccess = true, Result = token }); } catch (Exception ex) { return(new Response <TokenResponse> { IsSuccess = false, Message = ex.Message }); } }
public async Task <Response <Usuarios> > GetUserByCelularAsync(string urlBase, string servicePrefix, string controller, string tokenType, string accessToken, UsrLogin usrLogin) { try { var requestString = JsonConvert.SerializeObject(usrLogin); var content = new StringContent(requestString, Encoding.UTF8, "application/json"); var client = new HttpClient { BaseAddress = new Uri(urlBase) }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken); var url = $"{servicePrefix}{controller}"; var response = await client.PostAsync(url, content); var result = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { return new Response <Usuarios> { IsSuccess = false, Message = result } } ; Response <Usuarios> owner = JsonConvert.DeserializeObject <Response <Usuarios> >(result); return(new Response <Usuarios> { IsSuccess = true, Result = owner.Result }); } catch (Exception ex) { return(new Response <Usuarios> { IsSuccess = false, Message = ex.Message }); } }