Ejemplo n.º 1
0
        public viUser Authenticate(string username, string password)
        {
            viUser usr = new viUser();
            var    res = _users.SingleOrDefault(x => x.Username == username && x.Password == password);

            if (res == null)
            {
                return(null);
            }

            var tokenHandler    = new JwtSecurityTokenHandler();
            var SecretStr       = config.GetSection("AppSettings:Secret").Value;
            var key             = Encoding.ASCII.GetBytes(SecretStr);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, res.Id.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            usr.Token     = tokenHandler.WriteToken(token);
            usr.FirstName = res.FirstName;
            usr.LastName  = res.LastName;
            usr.Username  = res.Username;
            usr.Role      = "jhjh";
            usr.Id        = res.Id;

            return(usr);
        }
Ejemplo n.º 2
0
        private viUser GetToken(tbUser res)
        {
            var SecretStr       = config.GetSection("JwtToken:SecretKey").Value;
            var key             = Encoding.ASCII.GetBytes(SecretStr);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Sid, res.Id.ToString()),
                    new Claim(ClaimTypes.Email, res.Email.ToString()),
                }),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var tokenHandler = new JwtSecurityTokenHandler();
            var token        = tokenHandler.CreateToken(tokenDescriptor);

            var usr = new viUser();

            usr.Token = tokenHandler.WriteToken(token);
            usr.Email = res.Email;
            usr.Id    = res.Id;

            return(usr);
        }