public async Task <bool> CheckValidRequst(string resetCode, string password) { var entity = await DbSet.SingleOrDefaultAsync(x => x.Code == resetCode); if (entity == null || entity.Code == "used") { return(false); } if (entity.WhenAskedForNew.AddMinutes(15) > DateTime.UtcNow && DateTime.UtcNow.AddMinutes(-15) < entity.WhenAskedForNew) { var user = await _userRepo.GetUser(entity.Email); CreatePassword.CreatePasswordHash(password, out byte[] hash, out byte[] salt); user.PasswordHash = hash; user.PasswordSalt = salt; //ownerEntry.RefreshToken = GetRefreshToken(); await _userRepo.UpdateUser(user); entity.Code = "used"; DbSet.Update(entity); await _dbContext.SaveChangesAsync(); return(true); } return(false); }
public User TransformDto(object obj) { var userRegistration = obj as UserRegistration; if (userRegistration == null) { return(null); } CreatePassword.CreatePasswordHash(userRegistration.Password, out byte[] hash, out byte[] salt); var dbUser = new User(); dbUser.PasswordHash = hash; dbUser.PasswordSalt = salt; dbUser.Email = userRegistration.Email; dbUser.Bio = userRegistration.Bio; dbUser.Username = userRegistration.FirstName; return(dbUser); }