Esempio n. 1
0
        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);
        }