Unable to retain http session after cross domain AJAX call
posted 2 years ago
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:
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)?