コード例 #1
0
        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"));
            }
        }
コード例 #2
0
ファイル: TokenController.cs プロジェクト: rescalantem/Scarpa
        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"));
        }
コード例 #3
0
        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
                });
            }
        }
コード例 #4
0
        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
                });
            }
        }