Пример #1
0
        private string GenerateJSONWebToken(SeguridadLogin user)
        {
            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
            var credentiasl = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);

            var claims = new[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, user.Usuario),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
            };

            var token = new JwtSecurityToken(

                issuer: _config["Jwt:Issuer"],
                audience: _config["Jwt:Issuer"],
                claims,
                expires: DateTime.Now.AddMinutes(20),
                signingCredentials: credentiasl

                );

            var encodeToken = new JwtSecurityTokenHandler().WriteToken(token);

            return(encodeToken);
        }
Пример #2
0
        public IActionResult Login([FromBody] SeguridadLogin login)
        {
            IActionResult response = Unauthorized();

            try
            {
                SeguridadLogin SeguridadLoginencontrado = AutenticarSeguridadLogin(login);

                if (SeguridadLoginencontrado != null)
                {
                    string tokenStr = GenerateJSONWebToken(SeguridadLoginencontrado);
                    response = Ok(new { token = tokenStr });
                }

                return(response);
            }
            catch (Exception ex)
            {
                //LogException(e);
                return(StatusCode(500, "Error interno del server: " + ex.Message));
            }
        }
Пример #3
0
 private SeguridadLogin AutenticarSeguridadLogin(SeguridadLogin login)
 {
     return(unitOfWork.SeguridadLogins.ValidarLogin(login.Usuario, login.Pass));
 }