Sharing Cookie between different ports

Viewed 15262

I have an application1(C#) that is hosted on port:80 and application 2(nodejs) that is hosted on port:3030. Both are on localhost.

The request workflow is as following:

  • browsers sends request to application 1
  • application 1 sends back number of cookies
  • later on browser sends the request to application 2
  • ^ problem is on the last step, the cookies doesnt get included in the request.

Things I have tried/understood:

  • I understand that this is a same-origin policy restriction and because of different port # the browser treats them as different domains.
  • In Application 1 (its using System.Web.HttpCookie) i have tried to set the domain to be port specific ("127.0.0.1:3030") but seems like the browser doesnt accept it or ignore it.

    //c# code
    var testCookie1 = new HttpCookie("Test", "testValue");
    testCookie1.Domain = "127.0.0.1:3030";
    testCookie1.Path = "/";
    testCookie1.Expires = DateTime.Now.AddDays(1);
    Response.SetCookie(testCookie1);
    
    var testCookie2 = new HttpCookie("Test2", "testValue2");
    testCookie2.Domain = "127.0.0.1";
    testCookie2.Path = "/";
    testCookie2.Expires = DateTime.Now.AddDays(1);
    Response.SetCookie(testCookie2);
    

Cookies that come back from server Cookies that get stored in browser

The server sends back a cookie with the port number attached to it but the browser seems like it ignores it.

and here is my ajax calls:

   var request = $.ajax({
        url: 'http://127.0.0.1:3030/SomeTask',
        type: 'POST',
        crossDomain: true,
    });
3 Answers
Related