Introduction to cookie-session
In the modern web development landscape, managing user sessions effectively is crucial. The cookie-session
module is a powerful tool for managing sessions in web applications using cookies. This guide will walk you through the details of the cookie-session
module and provide examples of its useful APIs.
Getting Started
const express = require('express'); const cookieSession = require('cookie-session'); const app = express(); app.use(cookieSession({ name: 'session', keys: ['key1', 'key2'], // Cookie Options maxAge: 24 * 60 * 60 * 1000 // 24 hours })); app.get('/', (req, res) => { req.session.views = (req.session.views || 0) + 1; res.send(`Views: ${req.session.views}`); }); app.listen(3000, () => { console.log('Server is running on port 3000'); });
Configuration Options
The cookie-session
module provides a range of configuration options:
name
: The name of the cookie.keys
: Keys used for signing and verifying cookies.maxAge
: Specifies the expiration time of the cookie in milliseconds.path
: Specifies the path for which the cookie is valid.httpOnly
: Specifies whether the cookie is accessible only by the web server.
Using Multiple Configuration Options
app.use(cookieSession({ name: 'session', keys: ['key1', 'key2'], maxAge: 24 * 60 * 60 * 1000, // 24 hours path: '/', httpOnly: true, secure: true }));
Managing Sessions
Once the middleware is set up, you can manage session data like so:
app.get('/login', (req, res) => { req.session.user = { name: 'John Doe' }; res.send('User logged in'); }); app.get('/profile', (req, res) => { if (req.session.user) { res.send(`Welcome ${req.session.user.name}`); } else { res.send('Please log in first'); } }); app.get('/logout', (req, res) => { req.session = null; res.send('User logged out'); });
Complete Application Example
const express = require('express'); const cookieSession = require('cookie-session'); const app = express(); app.use(cookieSession({ name: 'session', keys: ['key1', 'key2'], maxAge: 24 * 60 * 60 * 1000 })); app.get('/', (req, res) => { req.session.views = (req.session.views || 0) + 1; res.send(`Views: ${req.session.views}`); }); app.get('/login', (req, res) => { req.session.user = { name: 'John Doe' }; res.send('User logged in'); }); app.get('/profile', (req, res) => { if (req.session.user) { res.send(`Welcome ${req.session.user.name}`); } else { res.send('Please log in first'); } }); app.get('/logout', (req, res) => { req.session = null; res.send('User logged out'); }); app.listen(3000, () => { console.log('Server is running on port 3000'); });
By leveraging the cookie-session
module, you can efficiently manage user sessions in your web application, ensuring a smooth and secure user experience.
Hash: 968e1d609bc55a71d5fc75d3638a2574bc079359a7578097b420748b87275abe