72 lines
2.2 KiB
Plaintext
72 lines
2.2 KiB
Plaintext
@page "/adminstart";
|
|
@using TIAMWebApp.Shared.Application.Interfaces
|
|
@using TIAMWebApp.Shared.Application.Utility
|
|
@using Newtonsoft.Json
|
|
@using System.IdentityModel.Tokens.Jwt
|
|
@using AyCode.Interfaces.StorageHandlers;
|
|
@using AyCode.Services.Loggers
|
|
@using TIAM.Core.Loggers
|
|
@inject NavigationManager NavManager
|
|
@inject IJSRuntime JSRuntime
|
|
@inject IUserDataService UserDataService
|
|
@inject ISecureStorageHandler SecureStorageHandler
|
|
@inject HttpClient http;
|
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
|
<h3>AppLaunch</h3>
|
|
|
|
Loading....
|
|
|
|
@code {
|
|
private ILogger _logger;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
_logger = new LoggerClient<LaunchAdmin>(LogWriters.ToArray());
|
|
|
|
//wait for 5 seconds
|
|
//await Task.Delay(5000);
|
|
|
|
string userDetailsStr = await SecureStorageHandler.GetFromSecureStorageAsync(nameof(Setting.UserBasicDetails));
|
|
_logger.Info(userDetailsStr);
|
|
if (!string.IsNullOrWhiteSpace(userDetailsStr))
|
|
{
|
|
var userBasicDetail = JsonConvert.DeserializeObject<UserBasicDetails>(userDetailsStr);
|
|
|
|
var handler = new JwtSecurityTokenHandler();
|
|
var jsontoken = handler.ReadToken(userBasicDetail?.AccessToken) as JwtSecurityToken;
|
|
|
|
if(userBasicDetail!= null)
|
|
Setting.UserBasicDetails = userBasicDetail;
|
|
|
|
if (jsontoken?.ValidTo < DateTime.UtcNow)
|
|
{
|
|
_logger.Info("Token needs to be refreshed");
|
|
bool isTokenRefreshed = await UserDataService.RefreshToken();
|
|
|
|
if (isTokenRefreshed)
|
|
{
|
|
_logger.Info("Token refreshed");
|
|
NavManager.NavigateTo("/home");
|
|
}
|
|
else
|
|
{
|
|
_logger.Info("Couldn't refresh token");
|
|
NavManager.NavigateTo("/login");
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
_logger.Info("Valid token found");
|
|
NavManager.NavigateTo("/home");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_logger.Info("No token stored yet");
|
|
NavManager.NavigateTo("/login");
|
|
}
|
|
|
|
}
|
|
}
|