コード例 #1
0
        public async Task <IActionResult> Register([FromBody] RegistrationModel model)
        {
            //register functionality

            var user = new ApplicationUser
            {
                Email    = model.Email,
                UserName = model.Email
            };

            var result = await _userManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                //Give basic role to the user
                await _userManager.AddToRoleAsync(user, "Basic");

                //generation of the email token
                var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                var link = Url.Action(nameof(VerifyEmail), "ApplicationUser", new { userId = user.Id, code }, Request.Scheme, Request.Host.ToString());

                // var link = $"{_appSettings.Host_Url}applicationuser/email-verification/userId={user.Id}/code={code}";
                _emailService.SendEmailVerification(link, model.Email);
                return(Ok(new { msg = "Verfication email has been sent" }));
            }
            return(BadRequest(new { error = "Please try again later" }));
        }