Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Impersonation Feature For RDS priviledged users(super_user) #2199

Open
5 of 8 tasks
Gvinod1991 opened this issue Oct 7, 2024 · 0 comments
Open
5 of 8 tasks

Impersonation Feature For RDS priviledged users(super_user) #2199

Gvinod1991 opened this issue Oct 7, 2024 · 0 comments

Comments

@Gvinod1991
Copy link

Gvinod1991 commented Oct 7, 2024

Issue/Feature Description

An impersonation feature is to be developed to provide access to privileged users(Super user) who can view other RDS user’s data such as tasks, progress updates and access RDS dashboard as an impersonation user.

Feature should include following user stories

  • Super User can switch to another user profile by clicking on impersonation action button
  • Super User can choose which user to impersonate by searching from the list
  • Super User can view/access another user’s data
  • Super User cannot perform create/update action
  • Default user can allow/disallow impersonation

Expected Behavior

To implement impersonation feature, The following changes needs to be done in website-backend codebase.

I will implement first 3 points mentioned below(Discord-Id:vinod-godti-1) and last 2 points will be implemented by Sahil(Discordid-sahilr3009)

  • An api endpoint needs to be created for a super user to impersonate another user where super user cookie to be verified and create a new cookie with impersonated user details and with minimal expiry time. [Vinod]
    API endpoint structure {placeholder-method-name} /{placeholder-api-endpoint} Body { enable:true }

  • A middleware needs to be implemented to check whether super user logged as impersonated user so that this can be used to validate/allow GET requests and restrict access to POST/PUT/PATCH requests in routes. [Vinod]

  • Implement switch back to super_user role from impersonation user by using impersonate api endpoint {placeholder-method-name} /{placeholder-api-endpoint-name} Body { enable:false } [Vinod]

  • Get Userlist api to be implemented to allow super user search and select which user to be impersonate [Already Exists, So we will reuse]

  • Integrate the impersonation middleware with desired api route [Sahil]

  • Develop an api to allow/disallow impersonation from the default user [Sahil]

Current Behavior

Impersonation feature is not available in RDS apps

Screenshots

NA

Reproducibility

NA

Steps to Reproduce

NA

Severity/Priority

  • Critical
  • High
  • Medium
  • Low

Additional Information

Initial PRD

Checklist

  • I have read and followed the project's code of conduct.
  • I have searched for similar issues/features before creating this one.
  • I have provided all the necessary information to understand the features.
  • I am willing to contribute to the resolution of this issue/feature.
@Gvinod1991 Gvinod1991 changed the title Impersonation Feature For RDS Priviledged users(super_user) Impersonation Feature For RDS priviledged users(super_user) Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant