Пример #1
0
        private string GenerateJSONWebToken(Entity.Model.Usuario usuario)
        {
            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
            var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature);

            var claims = new[] {
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(JwtRegisteredClaimNames.Nbf, new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds().ToString()),
                new Claim(JwtRegisteredClaimNames.Exp, new DateTimeOffset(DateTime.UtcNow.AddMinutes(ConstantesNegocio.Login.TiempoDeLogueo)).ToUnixTimeSeconds().ToString()),
                new Claim("IdUsuario", usuario.IdUsuario),
                new Claim("IdPersona", usuario.IdPersona),
                new Claim("Nombre", usuario.Nombre),
                new Claim("Apellidos", usuario.Apellidos),
                new Claim("Telefono", usuario.Telefono),
                new Claim("Estado", usuario.Estado.ToString()),
                new Claim("TipoUsuario", usuario.TipoUsuario),
            };
            var token = new JwtSecurityToken(
                issuer: _config["Jwt:Issuer"],
                audience: _config["Jwt:Audience"],
                claims: claims,
                signingCredentials: credentials);

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

            return(encodetoken);
        }
Пример #2
0
        public Result ValidarLogin(Entity.Entity.Usuario usuario)
        {
            Result result = new Result();

            try
            {
                UsuarioData          usuarioData  = new UsuarioData();
                Entity.Model.Usuario usuarioModel = new Entity.Model.Usuario();
                usuarioModel = (Entity.Model.Usuario)usuarioData.GetUsuarioSistemaByID(usuario);
                if (usuarioModel != null)
                {
                    if (!usuarioModel.Estado)
                    {
                        result.setError(ResultTable.RESULT_ERR_LOGIN_INCORRECT_USER_CODE);
                        result.Data = String.Empty;
                    }
                    else
                    {
                        var tokenStr = GenerateJSONWebToken(usuarioModel);
                        usuarioModel.Token = tokenStr;
                        result.Data        = usuarioModel;
                    }
                }
                else
                {
                    result.setError(ResultTable.RESULT_ERR_IDNOTFOUND_CODE);
                    result.Data = String.Empty;
                }
            }
            catch (Exception ex)
            {
                result.setError(ResultTable.RESULT_ERR_GENERIC_CODE,
                                ResultTable.RESULT_ERR_GENERIC_MSG,
                                ex.Message);
                result.Data = String.Empty;
            }
            return(result);
        }