refactoring email verification

This commit is contained in:
Shaun Walker
2020-02-04 15:14:27 -05:00
parent 0aed11e71c
commit ee682516c3
17 changed files with 187 additions and 60 deletions

View File

@ -37,6 +37,10 @@ namespace Oqtane.Pages
await IdentitySignInManager.SignInAsync(identityuser, remember);
}
if (returnurl == null)
{
returnurl = "";
}
if (!returnurl.StartsWith("/"))
{
returnurl = "/" + returnurl;

View File

@ -14,6 +14,10 @@ namespace Oqtane.Pages
{
await HttpContext.SignOutAsync(IdentityConstants.ApplicationScheme);
if (returnurl == null)
{
returnurl = "";
}
if (!returnurl.StartsWith("/"))
{
returnurl = "/" + returnurl;

View File

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

View File

@ -1,42 +0,0 @@
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());
}
}
}