Express js Cookies
Cookies are pieces of content that are sent to a user's web browser. In this, the server sends a bit of information and the browser stores it for a specified period of time. Cookies can enable you to make shopping cart, client groups, and customized destinations. It's not prescribed that you store sensitive data in a cookie, but you can store a unique identification string that will coordinate a user with information held safely in a database.
express.cookieParser()
To use cookies in express.js, first we need to include the cookie-parser middleware. The express.cookieParser() allows us to access user cookie values from the req.cookie object in request handlers.
Install cookie-parser
npm install --save cookie-parser
Use cookie-parser
To set and access the cookies in your app, you need to include the cookie-parser middleware.
app.use(express.cookieParser());
Set cookies
The res.cookie() function is used to set cookie values.
res.cookie('user', 'smith');
This method also has different properties that we can set in the third parameter like cookie expiration time, set the secure flag, etc.
Set Cookie Expiration Time
We can set cookie expiration time either by using expire keyword or by using maxAge property.
app.get('/cookie',function(req, res){
res.cookie(name, 'value', { maxAge: 60000 });
});
In the above code, the cookie will get expire after 60000 ms. Alternatively we can set cookie expiration time by using expire keyword.
app.get('/cookie',function(req, res){
res.cookie(name, 'value', {expire: 60000 + Date.now()});
});
Retrieve the value of cookie
We can access cookie by using request object, for example-
var name = req.cookie.user;
the above example returns one specific cookie value, to return all the set cookies use res.cookies.
var cookies = req.cookies;
Delete a cookie
The clearCookie method is used to delete cookies.
res.clearCookie('user');