I am having a scenario such that I need to make a cross-domain ajax call (using JSONP) and get the Session id from the other domain as a JSON object wrapped around a callback method as below:
The above code is jsonPPage.jsp running in a domain say example2.com Now in example1.com, I am having a
jsp page, say page1.jsp where I have a javascript method where I am making a Jquery-Ajax+JSONP call and getting the "sessionID" from example2.com/jsonPPage.jsp
I need to save the retrieved session id in the current session as a session attribute. For this, I am calling a method saveRetrievedSessionIdInCurrentSession(example2SessionId); and within that I am making a local AJAX call to a simple
Servlet where I can retrieve the session from the request and save the example2SessionId as a session attribute.
Within TestServlet1, I am trying to do the following:
But within my TestServlet1 doPost() method, when I try to retrieve the session by request.getSession(), it is creating a new session. I confirmed it by doing a sysout of request.getSession().getId(). This is giving a different id that what I get when the page gets loaded initially. Basically I am not able to retrieve the session which user is associated with when the page got loaded initially.
This kind of behaviour is happening only after a cross-domain ajax call. Please tell me how can I retrieve the initial session (which means request.getSession() should not give a new session, rather it should return the existing session associated with the user)?