public HttpResponseMessage RefreshToken() { var oldToken = Request.Headers.Contains("token") ? Request.Headers.GetValues("token").FirstOrDefault() : null; var response = Request.CreateResponse(System.Net.HttpStatusCode.OK, false); if (string.IsNullOrEmpty(oldToken)) { return(response); } response = Request.CreateResponse(System.Net.HttpStatusCode.OK, false); var requestSource = Request.Headers.Contains("RequestSource") ? Request.Headers.GetValues("RequestSource") : null; var audience = JwtTokenProvider.DesktopAudience; if (requestSource.Contains("App : KL²")) { audience = JwtTokenProvider.DesktopAudience; } else if (requestSource.Contains("App : Web")) { audience = JwtTokenProvider.WebAudience; } else { audience = JwtTokenProvider.TabletAudience; } response.Headers.Add("token", JwtTokenProvider.RegenerateAccessToken(audience, oldToken)); return(response); }