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

@ -50,15 +50,24 @@
public string Password = "";
public bool Remember = false;
protected override void OnInitialized()
protected override async Task OnInitializedAsync()
{
if (PageState.QueryString.ContainsKey("returnurl"))
{
ReturnUrl = PageState.QueryString["returnurl"];
}
if (PageState.QueryString.ContainsKey("verified"))
if (PageState.QueryString.ContainsKey("name"))
{
if (PageState.QueryString["verified"] == "1")
Username = PageState.QueryString["name"];
}
if (PageState.QueryString.ContainsKey("token"))
{
User user = new User();
user.SiteId = PageState.Site.SiteId;
user.Username = Username;
user = await UserService.VerifyEmailAsync(user, PageState.QueryString["token"]);
if (user != null)
{
Message = "User Account Verified Successfully. You Can Now Login With Your Username And Password Below.";
}
@ -141,8 +150,8 @@
}
else
{
Message = "Please Enter The Username Related To Your Account And Then Click The Forgot Password Option";
Message = "Please Enter The Username Related To Your Account And Then Select The Forgot Password Option Again";
}
StateHasChanged();
}
}
}

View File

@ -50,7 +50,6 @@
User user = new User();
user.SiteId = PageState.Site.SiteId;
user.Username = Username;
user.DisplayName = Username;
user.Password = Password;
user = await UserService.ResetPasswordAsync(user, PageState.QueryString["token"]);

View File

@ -78,8 +78,7 @@ else
string modifiedby;
DateTime modifiedon;
protected override async Task
OnAfterRenderAsync(bool firstRender)
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{

View File

@ -28,6 +28,7 @@
}
catch (Exception ex)
{
await logger.LogError(ex, "An Error Occurred Loading Html/Text Content. " + ex.Message);
AddModuleMessage(ex.Message, MessageType.Error);
}
}

View File

@ -24,6 +24,8 @@ namespace Oqtane.Services
Task LogoutUserAsync(User User);
Task<User> VerifyEmailAsync(User User, string Token);
Task ForgotPasswordAsync(User User);
Task<User> ResetPasswordAsync(User User, string Token);

View File

@ -87,6 +87,11 @@ namespace Oqtane.Services
await http.PostJsonAsync(apiurl + "/logout", User);
}
public async Task<User> VerifyEmailAsync(User User, string Token)
{
return await http.PostJsonAsync<User>(apiurl + "/verify?token=" + Token, User);
}
public async Task ForgotPasswordAsync(User User)
{
await http.PostJsonAsync(apiurl + "/forgot", User);