public override async Task <AuthenticationState> GetAuthenticationStateAsync() { var token = await _localStorage.GetItemAsync <string>(MagicStrings.Local_Token); if (token == null) { Console.WriteLine($"**** GetAuthState: no token"); return(new AuthenticationState(new ClaimsPrincipal(new ClaimsIdentity()))); } var exp = JwtParser.ParseExpirationTimeFromJwt(token); if (exp < DateTime.Now) { Console.WriteLine($"**** GetAuthState: token expired ==> user logged out"); await _localStorage.RemoveItemAsync(MagicStrings.Local_Token); return(new AuthenticationState(new ClaimsPrincipal(new ClaimsIdentity()))); } _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token); var principal = new ClaimsPrincipal(new ClaimsIdentity(JwtParser.ParseClaimsFromJwt(token), "jwtAuthType")); Console.WriteLine($"**** GetAuthState: authenticated: {principal.Identity.IsAuthenticated}"); return(new AuthenticationState(principal)); }
public void JwtParser_GetExpirationTime_ShouldReturnCorrectValue() { var expirationTime = JwtParser.ParseExpirationTimeFromJwt(token); Assert.AreEqual("10.06.2021 15:26:06", expirationTime.ToString()); }