static void Register(HttpClient httpClient) { Console.WriteLine("FirstName: "); var firstName = Console.ReadLine(); Console.WriteLine("LastName: "); var lastName = Console.ReadLine(); Console.WriteLine("Email: "); var email = Console.ReadLine(); Console.WriteLine("Phone: "); var phone = Console.ReadLine(); Console.WriteLine("CNP: "); var cnp = Console.ReadLine(); Console.WriteLine("ID Series: "); var series = Console.ReadLine(); Console.WriteLine("ID Number: "); var number = Console.ReadLine(); string password = String.Empty, confirmPassword = String.Empty; while (password == String.Empty || password != confirmPassword) { Console.WriteLine("Please insert a password (>12 chars, 1 number, 1 capital, 1 non alpha numeric)"); Console.WriteLine("Password: "******"Confirm Password: "******"https://localhost:44355/api/auth/register-voter", new StringContent(JsonSerializer.Serialize(inVoterRegisterDTO, typeof(InVoterRegisterDTO)), Encoding.UTF8, "application/json")).Result; }
public async Task <IActionResult> RegisterVoter(InVoterRegisterDTO inVoterRegisterDto) { if (inVoterRegisterDto.Password != inVoterRegisterDto.ConfirmPassword) { return(BadRequest()); } var g = Guid.NewGuid(); var username = Convert.ToBase64String(g.ToByteArray()).Replace("=", string.Empty) .Replace("+", String.Empty).Replace("/", String.Empty); var userDetail = new UserDetail() { CNP = inVoterRegisterDto.CNP, EncryptedPrivateKey = inVoterRegisterDto.EncryptedPrivateKey, PublicKey = inVoterRegisterDto.PublicKey, FirstName = inVoterRegisterDto.FirstName, LastName = inVoterRegisterDto.LastName, Number = inVoterRegisterDto.Number, Series = inVoterRegisterDto.Series }; var user = new User() { Email = inVoterRegisterDto.Email, PhoneNumber = inVoterRegisterDto.Phone, }; user.UserDetail = userDetail; user.UserName = username; var result = await _userManager.CreateAsync(user, inVoterRegisterDto.Password); if (!result.Succeeded) { return(Unauthorized()); } var emailToken = await _userManager.GenerateEmailConfirmationTokenAsync(user); var emailHtml = await System.IO.File.ReadAllTextAsync("wwwroot/confirmEmailToken.html"); emailHtml = emailHtml.Replace("{BaseUrl}", "http://localhost:8080/#/verify") .Replace("{EmailToken}", emailToken) .Replace("{UserName}", username); var emailSuccess = await EMailService.SendEmail(inVoterRegisterDto.Email, "EVoting Username and Confirm Email", emailHtml); return(Ok(new BaseResponseDTO <string>() { Success = true, Message = "User registered successfully! Please also verify your email.", Result = username })); }