Introduction:
This document describes the design approach for securing of switching of Managed User’s account
Background:
Jira Issue: https://project-sunbird.atlassian.net/browse/SH-95
Epic: https://project-sunbird.atlassian.net/browse/SH-67
Presently user can be switched to managed user’s profile and managed-user can consume application as a normal user.
Problem Statement:
...
Currently switch of user is not secured
Existing workflow:
User login in to his account and starts using application.
Parent’s token will be is used for managed-use as welluser actions.
...
Change request:
For managed Users’s an extra MUT should be send in API’s.
Below is current data store stored in session
Expand | ||
---|---|---|
| ||
|
...
Expand | ||
---|---|---|
| ||
|
Pros:
Not exposing MUT.
Cons:
Storing large redundant data in session.
Solution 2:
...
Pros:
Token not being exposed in frontend.
Session data does not have redundant data
Cons:
Extra API call to LMS service (user/search)
Solution 3 :
...
Pros:
Only MUT stored in session.
Verification of request before switching of user addes extra security to existing swtich user flow.
...
Exposing MUT token into front. Any one can see it and intercepts it and use it furthur.
Solution 4 :
User Read API can be modified to send user token.