public async Task <IActionResult> ConfirmEmail([FromQuery] EmailConfirmationResource emailConfirmationResource) { if (ModelState.IsValid) { var user = await this.userManager.FindByIdAsync(emailConfirmationResource.UserId); if (user == null) { ModelState.AddModelError("", "Email and password does not match"); return(new UnauthorizedObjectResult(new UnAuthorizedResource(ModelState))); } var result = await this.userManager.ConfirmEmailAsync(user, emailConfirmationResource.Token); if (!result.Succeeded) { foreach (IdentityError error in result.Errors) { ModelState.AddModelError("", error.Description); } return(new UnauthorizedObjectResult(new UnAuthorizedResource(ModelState))); } else { return(new OkObjectResult(new { message = "Email has confirmed successfully" })); } } // If we got this far, something failed, redisplay form ModelState.AddModelError("", "Failed to confirm email"); return(new BadRequestObjectResult(new BadRequestResource(ModelState))); }
public async Task <IActionResult> ConfirmEmail([FromQuery] EmailConfirmationResource emailConfirmationResource) { await _userService.ConfirmEmailAsync(emailConfirmationResource.UserId, emailConfirmationResource.Token); return(new OkObjectResult(new { message = "Email has confirmed successfully." })); }