42 lines
1022 B
C#
42 lines
1022 B
C#
|
|
|
|
using Microsoft.AspNetCore.Components;
|
|
using Microsoft.AspNetCore.WebUtilities;
|
|
using System.Net;
|
|
using TechHelper.Client.HttpRepository;
|
|
|
|
namespace TechHelper.Client.Pages.Author
|
|
{
|
|
public partial class EmailConfirmation
|
|
{
|
|
private bool _showSuccess;
|
|
private bool _showError;
|
|
|
|
|
|
[Inject]
|
|
public IAuthenticationClientService AuthenticationClientService { get; set; }
|
|
[Inject]
|
|
public NavigationManager NavigationManager { get; set; }
|
|
|
|
|
|
protected async void ConfirmToEmail()
|
|
{
|
|
_showError = _showSuccess = false;
|
|
|
|
var uri = NavigationManager.ToAbsoluteUri(NavigationManager.Uri);
|
|
|
|
var queryStrings = QueryHelpers.ParseQuery(uri.Query);
|
|
if (queryStrings.TryGetValue("email", out var email) &&
|
|
queryStrings.TryGetValue("token", out var token))
|
|
{
|
|
var result = await AuthenticationClientService.EmailConfirmationAsync(email, token);
|
|
if (result == HttpStatusCode.OK)
|
|
_showSuccess = true;
|
|
else
|
|
_showError = true;
|
|
}
|
|
else
|
|
NavigationManager.NavigateTo("/");
|
|
}
|
|
}
|
|
} |