public async Task <IActionResult> Register([FromBody] AuthenticationDTO credentials) { if (!ModelState.IsValid) { return(BadRequest()); } var result = await _userManagementService.CreateAsync(credentials.Email, credentials.Password); if (result.Result != AuthenticationResults.Succes) { return(BadRequest()); } var code = await _userManagementService.GenerateEmailConfiramtionTokenAsync(result.User); // The url sent to the user via email // This functionality has not been implemented yet. var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { userId = result.User, code = code }, protocol: Request.Scheme); await _emailService.SendEmailAsync(credentials.Email, "Email verification", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); return(Ok("Please verify your email adress")); }
public async Task <IActionResult> Create(CreateUserRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } var mapUser = AutoMapper.Mapper.Map <User>(request); if (request.Password != request.ConfirmPassword) { return(BadRequest()); } if (await _userService.CreateAsync(mapUser)) { return(Ok()); } return(BadRequest()); }