Code Monkey home page Code Monkey logo

epic-stack-with-user-impersonation's Introduction

Epic Stack with User Impersonation

User impersonation is a feature that allows admin users to log in as any other user without knowing their password. This is useful for troubleshooting issues that a user may be experiencing.

This example demonstrates how to implement this feature in an Epic Stack application.

Demo:

Demo

How it works

When an admin user wants to impersonate another user, we need to:

  • Get the current session ID from the cookie and store it in the session as impersonatorSessionId
  • Create a new session for the user we want to impersonate and store it in the cookie as sessionId

When the user stops impersonating, we need to:

  • Take the session ID stored in impersonatorSessionId and assign it to sessionId, which will restore the original admin session.
  • Clear impersonatorSessionId from the cookie

epic-stack-with-user-impersonation's People

Contributors

alan2207 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

epic-stack-with-user-impersonation's Issues

How does the app know that there's an admin logged in in addition to impersonated user?

This is a great feature, thank you for this example.

I have a question though. How does the app know that there is an admin user logged in addition to the user who is being impersonated? I mean the regular user wouldn't have the "Stop impersonating" menu item in the profile menu, right? Will it still be there after refreshing the page? If so, how do you let the app know that there's an admin user logged in too?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.