public async Task MarkUserAsAuthenticated(AppUser aLoggedUser)
        {
            await LocalStorageSvc.SetItemAsync(AppConstants.AccessKey, aLoggedUser.AccessToken);

            await LocalStorageSvc.SetItemAsync(AppConstants.RefreshKey, aLoggedUser.RefreshToken);

            var vIdentity        = GetClaimsIdentity(aLoggedUser);
            var vClaimsPrincipal = new ClaimsPrincipal(vIdentity);

            NotifyAuthenticationStateChanged(Task.FromResult(new AuthenticationState(vClaimsPrincipal)));
        }
        public async Task MarkUserAsLoggedOut()
        {
            await LocalStorageSvc.RemoveItemAsync(AppConstants.RefreshKey);

            await LocalStorageSvc.RemoveItemAsync(AppConstants.AccessKey);

            var vIdentity = new ClaimsIdentity();
            var vUser     = new ClaimsPrincipal(vIdentity);

            NotifyAuthenticationStateChanged(Task.FromResult(new AuthenticationState(vUser)));
        }
        public override async Task <AuthenticationState> GetAuthenticationStateAsync()
        {
            var vAccessToken = await LocalStorageSvc.GetItemAsync <string>(AppConstants.AccessKey);

            ClaimsIdentity vIdentity;

            if (vAccessToken != null && vAccessToken != string.Empty)
            {
                AppUser user = await AuthSvc.GetUserByAccessTokenAsync(vAccessToken);

                vIdentity = GetClaimsIdentity(user);
            }
            else
            {
                vIdentity = new ClaimsIdentity();
            }
            var vClaimsPrincipal = new ClaimsPrincipal(vIdentity);

            return(await Task.FromResult(new AuthenticationState(vClaimsPrincipal)));
        }