Package Exports
- express-user-impersonation
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (express-user-impersonation) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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-impersonationOperations
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"]
}));
// Assuming that Passport is setup to handle authentication
app.get('/impersonate/:id', userImpersonation.Impersonate, function (req, res) {
// your own code here
});
app.get('/return', userImpersonation.Return, function (req, res) {
// your own code here
});
app.listen(process.env.PORT || 3000);