/****************************************************************************** // Canary Islands Computer Museum Website // ---------------------------------------------------------------------------- // // Filename : ConfirmEmail.cshtml.cs // Author(s) : Natalia Portillo // // --[ Description ] ---------------------------------------------------------- // // ASP.NET Identify management // // --[ License ] -------------------------------------------------------------- // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // ---------------------------------------------------------------------------- // Copyright © 2003-2018 Natalia Portillo *******************************************************************************/ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace cicm_web.Areas.Identity.Pages.Account { [AllowAnonymous] public class ConfirmEmailModel : PageModel { readonly UserManager _userManager; public ConfirmEmailModel(UserManager userManager) { _userManager = userManager; } public async Task OnGetAsync(string userId, string code) { if(userId == null || code == null) return RedirectToPage("/Index"); IdentityUser user = await _userManager.FindByIdAsync(userId); if(user == null) return NotFound($"Unable to load user with ID '{userId}'."); IdentityResult result = await _userManager.ConfirmEmailAsync(user, code); if(!result.Succeeded) throw new InvalidOperationException($"Error confirming email for user with ID '{userId}':"); return Page(); } } }