Explorar el Código

ConfirmEmail custom page

ganahrhr hace 2 años
padre
commit
c7ecc38c42

+ 7 - 0
Areas/Identity/Pages/Account/ConfirmEmail.cshtml

@@ -0,0 +1,7 @@
+@page
+@model ConfirmEmailModel
+@{
+    ViewData["Title"] = "Confirm email";
+}
+
+<h1>@ViewData["Title"]</h1>

+ 53 - 0
Areas/Identity/Pages/Account/ConfirmEmail.cshtml.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Identity;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.RazorPages;
+using Microsoft.AspNetCore.WebUtilities;
+using Console = HyperCube.Utils.AdvConsole;
+
+namespace HyperCube.Areas.Identity.Pages.Account
+{
+    [AllowAnonymous]
+    public class ConfirmEmailModel : PageModel
+    {
+        private readonly UserManager<IdentityUser> _userManager;
+
+        public ConfirmEmailModel(UserManager<IdentityUser> userManager)
+        {
+            _userManager = userManager;
+        }
+
+        [TempData]
+        public string StatusMessage { get; set; }
+
+        public async Task<IActionResult> OnGetAsync(string userId, string code)
+        {
+            if (userId == null || code == null)
+            {
+                return RedirectToPage("/Index");
+            }
+
+            var user = await _userManager.FindByIdAsync(userId);
+            if (user == null)
+            {
+                return NotFound($"Unable to load user with ID '{userId}'.");
+            }
+
+            code = Encoding.UTF8.GetString(WebEncoders.Base64UrlDecode(code));
+            var result = await _userManager.ConfirmEmailAsync(user, code);
+            StatusMessage = result.Succeeded ? "Thank you for confirming your email." : "Error confirming your email.";
+
+            Console.WriteLine($"Adding new user [{user.UserName}], id: [{userId}] to list!");
+            ///adding new confirmed user
+            Models.AccountModel newAcc = new();
+            Models.AccountModel.Loaded.Add(userId, newAcc);
+
+            return Page();            
+        }
+    }
+}

+ 1 - 2
Pages/Index.razor

@@ -303,8 +303,7 @@
     <div class="wrapmain">
         <h1 class="block__header">Блог</h1>
         <p class="block__info">
-            Мы команда 2DН готовы рассказывать о технологиях и цифровизации. Мы ведем для удобства телеграмм-канал, на котором мы
-            рассказываем новости и анонсируем события, которые будут происходить в системе 2DН!
+            Мы, команда 2HD, готовы рассказывать о технологиях и цифровизации в личном телеграмм-канале. Здесь Вы увидите последние новости о системе и анонсы предстоящих событий.
         </p>
         <div class="blog-container">
             <div class="blog__item">