57 lines
1.6 KiB
Plaintext
57 lines
1.6 KiB
Plaintext
@page "/";
|
|
@using TIAMWebApp.Shared.Application.Interfaces
|
|
@using TIAMWebApp.Shared.Application.Models
|
|
@using TIAMWebApp.Shared.Application.Utility
|
|
@using Newtonsoft.Json
|
|
@using System.IdentityModel.Tokens.Jwt
|
|
@using TIAMWebApp.Shared.Application.Models.ClientSide
|
|
@inject NavigationManager NavManager
|
|
@inject LogToBrowserConsole logToBrowserConsole
|
|
@inject IUserDataService UserDataService
|
|
@inject ISecureStorageHandler SecureStorageHandler
|
|
<h3>AppLaunch</h3>
|
|
|
|
Loading....
|
|
|
|
@code {
|
|
|
|
|
|
protected async override Task OnInitializedAsync()
|
|
{
|
|
string userDetailsStr = await SecureStorageHandler.GetFromSecureStorageAsync(nameof(Setting.UserBasicDetails));
|
|
logToBrowserConsole.LogToBC(userDetailsStr);
|
|
if (!string.IsNullOrWhiteSpace(userDetailsStr))
|
|
{
|
|
var userBasicDetail = JsonConvert.DeserializeObject<UserBasicDetails>(userDetailsStr);
|
|
|
|
var handler = new JwtSecurityTokenHandler();
|
|
var jsontoken = handler.ReadToken(userBasicDetail.AccessToken) as JwtSecurityToken;
|
|
Setting.UserBasicDetails = userBasicDetail;
|
|
|
|
if (jsontoken.ValidTo < DateTime.UtcNow)
|
|
{
|
|
bool isTokenRefreshed = await UserDataService.RefreshToken();
|
|
|
|
if (isTokenRefreshed)
|
|
{
|
|
NavManager.NavigateTo("/home");
|
|
}
|
|
else
|
|
{
|
|
NavManager.NavigateTo("/login");
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
NavManager.NavigateTo("/home");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
NavManager.NavigateTo("/login");
|
|
}
|
|
|
|
}
|
|
}
|