notification service and user management improvements

This commit is contained in:
Shaun Walker
2020-02-03 16:43:37 -05:00
parent d8d5e768b2
commit 0aed11e71c
50 changed files with 2077 additions and 284 deletions

View File

@ -1,3 +1,3 @@
@page "/login"
@page "/pages/login"
@namespace Oqtane.Pages
@model Oqtane.Pages.LoginModel

View File

@ -1,3 +1,3 @@
@page "/logout"
@page "/pages/logout"
@namespace Oqtane.Pages
@model Oqtane.Pages.LogoutModel

View File

@ -0,0 +1,3 @@
@page "/pages/verify"
@namespace Oqtane.Pages
@model Oqtane.Pages.VerifyModel

View File

@ -0,0 +1,42 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Oqtane.Models;
using Oqtane.Repository;
using System.Threading.Tasks;
namespace Oqtane.Pages
{
[AllowAnonymous]
public class VerifyModel : PageModel
{
private readonly IUserRepository Users;
private readonly UserManager<IdentityUser> IdentityUserManager;
public VerifyModel(IUserRepository Users, UserManager<IdentityUser> IdentityUserManager)
{
this.Users = Users;
this.IdentityUserManager = IdentityUserManager;
}
public async Task<IActionResult> OnGet(string name, string token, string returnurl)
{
int verified = 0;
IdentityUser identityuser = await IdentityUserManager.FindByNameAsync(name);
if (identityuser != null)
{
var result = await IdentityUserManager.ConfirmEmailAsync(identityuser, token);
if (result.Succeeded)
{
verified = 1;
}
}
if (!returnurl.StartsWith("/"))
{
returnurl += "/" + returnurl;
}
return Redirect(HttpContext.Request.Scheme + "://" + HttpContext.Request.Host + returnurl + "login?verified=" + verified.ToString());
}
}
}