public async Task RegisterAsync(RegisterRequest request) { if (!await userServices.IsAnExistingUserAsync(request.UserName, request.Email)) { var newUser = new User { UserName = request.UserName, Password = BC.HashPassword(request.Password), Email = request.Email, Contact = new Contact { Id = Guid.NewGuid().ToString() } }; await userServices.CreateAsync(newUser); logger.LogInformation($"New user [{request.Email}] register."); var claims = new[] { new Claim(ClaimTypes.Name, request.UserName), new Claim(ClaimTypes.Email, request.Email) }; var ConfirmToken = jwtAuthManager.GenerateConfirmEmailToken(request.UserName, claims, DateTime.Now); string Url = $"{configuration["appUrl"]}/api/account/confirmemail?UserName={request.UserName}&token={ConfirmToken}"; await emailSender.SendEmailAsync(request.Email, "Confirm Email - Maxshoes", "<h1>Hello from Max Shoes</h1>" + $"<p> please confirm email by <a href='{Url}'>Click here!</a></p>"); } else { throw new Exception($"Email {request.Email } already exists."); } }
public async Task <ActionResult> SendConfirmEmail([FromBody] ConfirmEmailRequest request) { var claims = new[] { new Claim(ClaimTypes.Name, request.UserName), new Claim(ClaimTypes.Email, request.UserEmail) }; var ConfirmToken = _jwtAuthManager.GenerateConfirmEmailToken(request.UserName, claims, DateTime.Now); string Url = $"{_configuration["appUrl"]}/api/account/confirmemail?UserName={request.UserName}&token={ConfirmToken}"; await _emailSender.SendEmailAsync(request.UserEmail, "Confirm Email - Maxshoes", "<h1>Hello from Max Shoes</h1>" + $"<p> please confirm email by <a href='{Url}'>Click here!</a></p>"); return(Ok()); }