title: Action doesn't create a cookie when its called by external API
body: <p>Let's say we have code as follows:</p>
  
  <pre><code>public class HomeController : Controller
  {
      [HttpPost]
      public IActionResult AdvanceTokenCallback(string apiToken)
      {
          Response.Cookies.Append("Token", apiToken, new Microsoft.AspNetCore.Http.CookieOptions()
          {
              Path = "/",
              Expires = _tokenCookieExpirationTime
          });
          return RedirectToAction(nameof(CreateWorkItem));
      }
  
      [HttpGet]
      public IActionResult CreateWorkItem()
      {
          string token = Request.Cookies["Token"];
          return View();
      }
  }
  </code></pre>
  
  <p>When the action <code>AdvanceTokenCallback</code> is called from external API the <code>token</code> variable in the <code>CreateWorkItem</code> action becomes a <code>null</code>.
  However in a case when I create a "bridge" action and move the logic which creates the cookie there, then the <code>token</code> located in CreateWorkItem contains a value which is something that I expected.</p>
  
  <pre><code>public class HomeController : Controller
  {
      [HttpPost]
      public IActionResult AdvanceTokenCallback(string apiToken)
      {
          return RedirectToAction(nameof(BridgeRedirect), new { apiToken });
      }
  
      [HttpGet]
      public IActionResult BridgeRedirect(string apiToken)
      {
          Response.Cookies.Append("Token", apiToken, new Microsoft.AspNetCore.Http.CookieOptions()
          {
              Path = "/",
              Expires = _tokenCookieExpirationTime
          });
          return RedirectToAction(nameof(CreateWorkItem));
      }
  
      [HttpGet]
      public IActionResult CreateWorkItem()
      {
          string token = Request.Cookies["Token"];
          return View();
      }
  }
  </code></pre>
  
  <p>Any idea why does it happen and is there a possibility to avoid having this extra <code>BridgeRedirect</code> action with extra redirect?</p>