devEricA / Capstone-Communities

Senior Capstone project for Fall of 2021. The objective is to create an app that will allow people to join communities within their local area.
0 stars 0 forks source link

CRITICAL: Application Only Handles One Account at a Time #25

Open devEricA opened 3 years ago

devEricA commented 3 years ago

Bug description On remote hosted instances, if two people log into the application, the application only handles the most recent user, which results in other users viewing the person who most recently logged in.

Steps to reproduce Remote Hosted Instances (e.g Linode, AWS)

  1. Deploy the application.
  2. Have two or more people connect to the application on the instance.
  3. Have the people connected create accounts.
  4. One person logs in.
  5. Another person logs in.
  6. The person in step 4 should hit refresh.
  7. The person who logged in step 4 is now viewing the account of the person who logged in step 5.

Locally Deployed Instances

  1. Deploy the application.
  2. Open a private and a public window in your browser.
  3. Navigate to the URL of your locally deployed instance (Default is localhost:9000)
  4. Create two accounts.
  5. Log into the first account on the public window.
  6. Log into the second account on the private window.
  7. Refresh the application page in the public window.
  8. The public window is now viewing the account used in the private window.

Expected behavior Both people would be able to view their accounts at the same time.

devEricA commented 2 years ago

Well, we have quite the blocker. There does not seem to be much documentation on how to handle authentications within revel.

In the revel examples page, there's a few applications that appear to have some form of the login & authentication implemented.
However, none of the examples appear to work.

Scouring though the booking application's main app controller, there is another hint: the use of c.connected() and c.viewArgs["User"]. However, there appears to be no documentation of how to make use of these parameters within the revel manual. There are also no comments on the controller on how to make use of it's parameters and variables.

If anybody gets an idea on how to proceed, please make a comment on this issue.