title: CurrentPrincipal/User is empty in Web API service
body: <p>I may be missing something obvious here.  I'm new to both MVC and Web API, so I'm working on keeping my head above water.</p>
  
  <p>I have an MVC application that interfaces with a Web API service.  Authentication will be handled by a login service developed internally.  When working, the MVC client should check if the current user is authenticated.  If they're not, then it will redirect to this login service, which is supposed to authenticate the user and update the current user.  I then need to be able to access this identity from the Web API service.</p>
  
  <p>I'm operating under the assumption that the current principal (set via Thread.CurrentPrincipal or HTTPContext.Current.User) in the MVC application should be available in my Web API service, but whenever I try to access it from the service, the principal is empty.  I've tried accessing the principal from the service using all of the following options, but it's always empty:<br />
  RequestContext.Principal<br />
  User.Identity<br />
  HttpContext.Current.User<br />
  Thread.CurrentPrincipal<br />
  <br />
  Here's the basic idea of my code:
  <br /></p>
  
  <pre><code>MVC Controller:
  public ActionResult Index() {
     //Just create a test principal here to see if it's available in the service
     IPrincipal temp = new GenericPrincipal(new GenericIdentity("myUserName"), new string[]{});
     Thread.CurrentPrincipal = temp;
  
     using (var client = new HttpClient()) {
        client.BaseAddress = new Uri("myServiceAddress");
        HttpResponseMessage response = client.GetAsync("resourceString")).Result;
        ...Code to deal with result
     }
  }
  
  
  
  Web API Controller:
  [HttpGet]
  public HttpResponseMessage MyAction() {
     if (User.Identity == null || !User.Identity.IsAuthenticated) {
        //So sad
     } else {
        //Do some work
     }
  }
  </code></pre>
  
  <p>The current principal is always empty, regardless of how I try to access it.</p>