Beispiel #1
0
        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." }));
        }