Express User Impersonation
A simple library to be used for impersonating accounts in an Express app.
This library is used with PassportJS authentication library.
Installation
npm install --save express-user-impersonation
Operations
Impersonate
To impersonate a user, call on the Impersonate
middleware. Note that this function will use the currently logged user from Passport and temporarily save that user as a session of this library so as to override the currently logged in user.
Return
To return from an impersonate state, simply call on the Return
middleware. This will delete the temporary user from the Passport session and override it with the saved user.
Usage
var express = require('express'),
impersonation = require('express-user-impersonation'),
userImpersonation = new impersonation("auth session variable"),
cookieSession = require('cookie-session'),
app = express(),
passport = require('passport');
app.use(cookieSession({
maxAge: 24 * 60 * 60 * 1000,
keys: ["keyboard cat"]
}));
app.get('/impersonate/:id', userImpersonation.Impersonate, function (req, res) {
});
app.get('/return', userImpersonation.Return, function (req, res) {
});
app.listen(process.env.PORT || 3000);