public async Task VerifyTokenAsync() { if ((!string.IsNullOrEmpty(Settings.AuthToken)) && (!string.IsNullOrEmpty(Settings.UserId))) { try { var date = JwtUtility.GetTokenExpiration(Settings.AuthToken).Value.AddMinutes(-30); if (!string.IsNullOrEmpty(Settings.AuthToken) && date < DateTime.UtcNow) { var result = await RegenerateTokenAsync(); if (!result) { //no token regenerated await LogoutAsync(); } } } catch (InvalidTokenException) { //Token exception error await LogoutAsync(); } } }
void LoadCachedTokenAsync() { try { if (!string.IsNullOrEmpty(Settings.AuthToken) && JwtUtility.GetTokenExpiration(Settings.AuthToken) > DateTime.UtcNow) { MobileService.CurrentUser = new MobileServiceUser(Settings.UserId); MobileService.CurrentUser.MobileServiceAuthenticationToken = Settings.AuthToken; } } catch (InvalidTokenException) { Settings.AuthToken = string.Empty; Settings.UserId = string.Empty; Settings.Role = string.Empty; } }