public Models.SecurityToken Authenticate(string username, string password, HttpContext context) { var cUser = _iUserServices.GetUser(username); var GlobalKey = _appSettings.Secret; if (cUser != null) { var PasswordUser = _iUserServices.GetPasswords(cUser.UserId).Where(x => x.Active == true).FirstOrDefault(); if (PasswordUser != null) { var salt = _hashEncrypt.CreateSaltPerUser(cUser.AccountName, GlobalKey); var CheckEqual = _hashEncrypt.AreEqual(password, PasswordUser.Password1, salt); if (CheckEqual) { LoginState(true, username, password, context); var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.Secret); IdentityModel _IdentityModel = new IdentityModel() { AccountID = cUser.UserId, AccountName = cUser.AccountName, AccountRoleID = (int)cUser.UserGenderId }; var jwtSecurityToken = _funcIdentity.CreateSecurityTokenDescriptor(_IdentityModel, key); return(new Models.SecurityToken() { auth_token = jwtSecurityToken }); } else { LoginState(false, username, password, context); return(null); } } else { LoginState(false, username, password, context); return(null); } } else { LoginState(false, username, password, context); return(null); } }