Session handling using Node.js & Express 4

February 17, 2015
by Inaam Hussain

In this tutorial we will learn how to manage session using node.js and Express 4. For handling session we have express-session plugin module in node.
By using that we can easily maintain session.

DOWNLOAD

Let’s start with installing dependencies and then the code,

Install dependencies

Will going to use following node modules for handling session.

  1. Express 4
  2. Express session

I have created a package.json file that will install all required dependencies. have a look,

package.json
{
    "name": "Express-session-node",
    "version": "0.0.1",
    "main": "server.js",
    "dependencies": {
        "express": "^4.8.7",
        "express-session": "^1.7.6"
    }
}

 

How to install dependencies?

By typing following command you can install dependencies,

npm install

 

Express session implementation

List of following functionality we can do using express session,
First will include require node modules and http server.

server.js
var app   = require('express')();
var http = require('http').Server(app);
var session = require('express-session');
var express   = require('express');
app.use(session({
    secret: 'test session',
    resave: false,
    saveUninitialized: true
}));

 

Set Session :

server.js
app.get('/setsession',function(req,res){
    sess=req.session;
    sess.sessdata = {};
    sess.sessdata.email= "inaam";
    sess.sessdata.pass= "inaam1234";
    var data = {
        "Data":""
    };
    data["Data"] = 'Session set';
    res.json(data);
});

In above code you can see that url routing “/setsession” so by hitting this in url functionality works.
So basically start with initializing session by using “req.session”.
and then we are assigning value to session ( i.e : sess.sessdata.email= “inaam” ).
 

Destroy Session :

server.js
app.get('/destroysession',function(req,res){
    sess=req.session;
    var data = {
        "Data":""
    };
    sess.destroy(function(err) {
        if(err){
            data["Data"] = 'Error destroying session';
            res.json(data);
        }else{
            data["Data"] = 'Session destroy successfully';
            res.json(data);
        }
    });
});

Here also first we will initialize session and then by using “sess.destroy” we can easily destroy all session variable.
 

Reload Session :

server.js
app.get('/reloadsession',function(req,res){
    sess=req.session;
    var data = {
        "Data":""
    };
    sess.reload(function(err) {
        if(err){
            data["Data"] = 'Error Reloading session';
            res.json(data);
        }else{
            data["Data"] = 'Session Reloaded successfully';
            res.json(data);
        }
    })
});

“sess.reload” will reload all session data.
 

Save Session :

server.js
app.get('/savesession',function(req,res){
    sess=req.session;
    var data = {
        "Data":""
    };
    sess.save(function(err) {
        if(err){
            data["Data"] = 'Error saving session';
            res.json(data);
        }else{
            data["Data"] = 'Session saved successfully';
            res.json(data);
        }
    })
});

“sess.save” will save session data.

How to run?

First check whether you have installed Node.js or not.
Then install all required dependencies (i.e : express, express-session ) by typing following command in terminal,

npm install

Now, run the server using following command.

node server.js

And now go to browser and hit “localhost:8080”.

About

Engineer. Blogger. I like to be updated on new upcoming emerging technologies.

Get notified on our new articles

Subscribe to get the latest on Node.js, Angular, Blockchain and more. We never spam!
First Name:
Email:

2 comments

  1. shmox
    |

    Hello, thanks for this article, but it could be better if you explained what those methods mean: sess.reload
    sess.save

    • |

      Ya thanks for the comment. Will update that soon.

Leave a Comment