public string encryptPassword(User user, MyUsersDBEntities db) { string salt = CreateSalt(10); string hashedPassword = CreateHash(user.Hash, salt, user); return(hashedPassword); }
public loggedInUser PostDataForLoggedInUser(User user, MyUsersDBEntities db, LoggedInUserDBEntities loggedInUserDb) { var loggedInUserToReturn = new loggedInUser(); List <loggedInUser> loggedInUsersList = new List <loggedInUser>(); loggedInUsersList = loggedInUserDb.loggedInUsers.ToList(); if (loggedInUsersList.Count <= 0) { loggedInUserToReturn = new loggedInUser(); loggedInUserToReturn.loggedInUserId = user.Id; loggedInUserToReturn.UserName = user.Username; loggedInUserToReturn.Hash = DateTime.Now.ToString(); loggedInUserToReturn.IsLoggedIn = user.isLoggedIn; } else { foreach (var loggedInUser in loggedInUserDb.loggedInUsers) { loggedInUser.UserName = user.Username; loggedInUser.IsLoggedIn = user.isLoggedIn; loggedInUserToReturn.Hash = DateTime.Now.ToString(); loggedInUserToReturn = loggedInUser; } } loggedInUserDb.Set <loggedInUser>().AddOrUpdate(loggedInUserToReturn); loggedInUserDb.SaveChanges(); return(loggedInUserToReturn); }
public User UpsertWebContent(User user, MyUsersDBEntities db) { //If user is logging on after already being registered and already has a set Id, this will encrypt password, and post isLoggedIn to be true using (db) { if (user.Id == default(int)) { db.Users.Add(user); } //else //{ // db.Entry(user).State = EntityState.Modified; //} // encryptPassword(user, db); try { db.SaveChanges(); } catch (DbEntityValidationException e) { var newException = new FormattedDbEntityValidationException(e); throw newException; } return(user); } }
public User PostDataOnLogin(User user, MyUsersDBEntities db) { foreach (var u in db.Users.Where(x => x.Username == user.Username && x.Hash == user.Hash)) { if (u.Username == user.Username && u.Hash == user.Hash) { user.Username = u.Username; user.EmailAddress = u.EmailAddress; user.Hash = u.Hash; user.Id = u.Id; user.FirstName = u.FirstName; user.LastName = u.LastName; user.Organization = u.Organization; user.Salt = u.Salt; u.isLoggedIn = true; user.isLoggedIn = u.isLoggedIn; user.Token = "test"; //encryptPassword(user, db); // db.Entry(user).State = EntityState.Modified; db.Set <User>().AddOrUpdate(user); } } db.SaveChanges(); return(user); }
public User PostDataOnLogin(User user, MyUsersDBEntities db) { var a = db.Users; UserService userService = new UserService(); foreach (var u in db.Users.Where(x => x.Username == user.Username && x.Hash == user.Hash)) { if (u.Username == user.Username && u.Hash == user.Hash) { user.Username = u.Username; user.EmailAddress = u.EmailAddress; if (user.isPasswordHashed == true) { var password = user.Hash; var salt = u.Salt; var hash = u.Hash; } else { user.Hash = userService.encryptPassword(u, db); } user.FirstName = u.FirstName; user.isPasswordHashed = true; user.Id = u.Id; user.LastName = u.LastName; user.Organization = u.Organization; user.Salt = u.Salt; u.isLoggedIn = true; user.isLoggedIn = u.isLoggedIn; user.Token = u.Token; user.timeLoggedIn = DateTime.Now; db.Set <User>().AddOrUpdate(user); } } db.SaveChanges(); return(user); }
public User PostDataOnLogout(User user, MyUsersDBEntities db) { UserService userService = new UserService(); foreach (var u in db.Users.Where(x => x.Username == user.Username)) { user.EmailAddress = u.EmailAddress; user.isPasswordHashed = true; user.Id = u.Id; user.FirstName = u.FirstName; user.LastName = u.LastName; user.Organization = u.Organization; user.Salt = u.Salt; user.Hash = u.Hash; user.isLoggedIn = false; user.Token = "test"; user.timeLoggedOut = DateTime.Now; db.Set <User>().AddOrUpdate(user); } db.SaveChanges(); return(user); }
public UserService(MyUsersDBEntities context) { _context = context; }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { UserService userservice = new UserService(); MyUsersDBEntities userDb = new MyUsersDBEntities(); var identity = new ClaimsIdentity(context.Options.AuthenticationType); string contextPassword = ""; using (var db = new MyUsersDBEntities()) { var user = db.Users.ToList(); if (user != null) { foreach (var u in db.Users.Where(x => x.isPasswordHashed == true && x.Username == context.UserName)) { LoginService loginService = new LoginService(); contextPassword = context.Password.ToString(); contextPassword = loginService.reEncryptPassword(contextPassword, u.Salt, u.Hash, u); if (!string.IsNullOrEmpty(user.Where(x => x.Username == context.UserName && x.Hash == contextPassword).FirstOrDefault().Username)) { var currentUser = user.Where(x => x.Username == context.UserName && x.Hash == contextPassword).FirstOrDefault(); identity.AddClaim(new Claim("UserName", currentUser.Username)); identity.AddClaim(new Claim("Id", Convert.ToString(currentUser.Id))); var props = new AuthenticationProperties(new Dictionary <string, string> { { "Username", context.UserName }, }); var ticket = new AuthenticationTicket(identity, props); context.Validated(ticket); } else { context.SetError("invalid_grant", "Provided username and password is not matching, Please retry."); context.Rejected(); } } foreach (var u in db.Users.Where(x => x.isPasswordHashed == null && x.Username == context.UserName)) { contextPassword = context.Password; if (!string.IsNullOrEmpty(user.Where(x => x.Username == context.UserName && x.Hash == contextPassword).FirstOrDefault().Username)) { var currentUser = user.Where(x => x.Username == context.UserName && x.Hash == contextPassword).FirstOrDefault(); identity.AddClaim(new Claim("UserName", currentUser.Username)); identity.AddClaim(new Claim("Id", Convert.ToString(currentUser.Id))); var props = new AuthenticationProperties(new Dictionary <string, string> { { "Username", context.UserName }, }); var ticket = new AuthenticationTicket(identity, props); context.Validated(ticket); } else { context.SetError("invalid_grant", "Provided username and password is not matching, Please retry."); context.Rejected(); } } } else { context.SetError("invalid_grant", "Provided username and password is not matching, Please retry."); context.Rejected(); } return; } }
public LogoutService(MyUsersDBEntities context) { _context = context; }
public loggedInUser PostDataForCurrentUserOnLogin(loggedInUser user, LoggedInUserDBEntities db, MyUsersDBEntities userDb) { db.SaveChanges(); return(user); }