express-user-impersonation

1.0.1 • Public • Published

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"]
}));
 
// 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);

Dependents (0)

Package Sidebar

Install

npm i express-user-impersonation

Weekly Downloads

106

Version

1.0.1

License

MIT

Last publish

Collaborators

  • mrsilver512