コード例 #1
0
        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;
        }
コード例 #2
0
        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
            }));
        }