sc0v / binder

The Spring Carnival managment application built for Carnegie Mellon Spring Carnival.
16 stars 19 forks source link

Bind cookies to app-year. #300

Open timparenti opened 5 years ago

timparenti commented 5 years ago

Beyond the hotfix in #299, the application should be configured to change how cookies are stored should change with each app-year. It is not sufficient to simply use Date.current.year or similar in the cookie name, since the main problem manifests when users log in shortly before the app is re-seeded each April, at which point user IDs change while the cookies do not. However, there are many relevant timestamps in the database that could potentially help signal the year the app was built for.

Additionally, look into the possibility of storing more than just the user ID number in the cookie, to help detect when a cookie should go stale.

timparenti commented 5 years ago

Other potential solutions:

timparenti commented 5 years ago

Per today's meeting, once #294 is merged to keep participants bound to the same participant ID from year to year, this becomes far less of a problem.

Still, it's good hygiene to rotate the SECRET_KEY_BASE environment variable in /etc/apache2/sites-enabled/003-binder-app-production.conf when launching a new year's Carnival.

@Aklaran can add this to Carnival creation documentation in #294.