Robin Heggelund Hansen
Robin Heggelund Hansen

Reputation: 5006

Expressjs session only persists on localhost

I've got a simple web-page created in node/express which has a simple login system. The way i'm testing if a user has logged in, is basically a check to see if req.session.user exist, which is created at login, and the session is destroyed on logout.

This works great as long as the client connects to http://localhost:8000, however, if i connect to http://10.0.1.6:8000 a new session object is created on every request, which means i can never check if the user actually has logged in.

Why is this? I need to connect to http://10.0.1.6:8000 as I'm testing my client from android (where localhost is the android device, not my server/computer).

Upvotes: 2

Views: 1092

Answers (2)

meanme
meanme

Reputation: 144

You can try to set up a session with your app.

var app = express.createServer();
app.use(express.cookieParser(...));
app.use(express.session(...));

According to the docs you also have to use cookieParser() before you set up your session.

http://expressjs.com/guide.html http://www.senchalabs.org/connect/middleware-session.html

Upvotes: 0

Robin Heggelund Hansen
Robin Heggelund Hansen

Reputation: 5006

Silly me, gotta stop programming when tired. I was running the index.html file locally, instead of from the server (cross-domain cookies? i laugh in your face!)

Upvotes: 2

Related Questions