This is an initial step towards multi-org support outlined in #282. This doesn't attempt to add the concept of organizations or do the fancy account linking proposed there. Rather, it begins to move us away from being hardcoded for Illinois Shib accounts and towards a more generic system that we can use to add Google authentication and allow the queue to be deployed at UBC. Namely, it replaces netid with uid on the users table, where a user's UID is a globally-unique identifier for them. This could be nwalter2@illinois.edu for Illinois Shib, nwalters512@gmail.com for Google login, or a student's hash for a UBC deployment. Also adds support for configuring how such identifiers are referred to in the UI in the form of uidName (e.g. "Illinois email") and uidArticle (e.g. "an") which can be combined to refer to a specific form of UID for an institution.
This also refactors the user autocomplete box from the admin page into a self-contained UserAutocomplete component and uses it on the course staff page.
Currently a draft; opening the PR for feedback and so I can see all my changes in one place.
This is an initial step towards multi-org support outlined in #282. This doesn't attempt to add the concept of organizations or do the fancy account linking proposed there. Rather, it begins to move us away from being hardcoded for Illinois Shib accounts and towards a more generic system that we can use to add Google authentication and allow the queue to be deployed at UBC. Namely, it replaces
netid
withuid
on the users table, where a user's UID is a globally-unique identifier for them. This could benwalter2@illinois.edu
for Illinois Shib,nwalters512@gmail.com
for Google login, or a student's hash for a UBC deployment. Also adds support for configuring how such identifiers are referred to in the UI in the form ofuidName
(e.g. "Illinois email") anduidArticle
(e.g. "an") which can be combined to refer to a specific form of UID for an institution.This also refactors the user autocomplete box from the admin page into a self-contained
UserAutocomplete
component and uses it on the course staff page.Currently a draft; opening the PR for feedback and so I can see all my changes in one place.