Fix CAS login errors caused by duplicate user accounts#390
Merged
Conversation
ULB changed email domains (ulb.ac.be → ulb.be) and netid formats (human-readable → numeric national registry numbers), which caused duplicate accounts and MultipleObjectsReturned errors on login. - Replace Q(netid) | Q(email) lookup with netid-first, email-fallback - Sync all CAS fields on every login (netid, email, name) - Delete 64 users with bogus numeric netids (migration 0010) - Drop leftover actstream/authtoken tables (migration 0009) - Add CasFailure model to log all auth errors with context - Log EMAIL_CONFLICT when CAS email clashes with another account Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
DROP TABLE ... CASCADE is not supported by SQLite, use plain DROP TABLE IF EXISTS on SQLite. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MultipleObjectsReturnedon login (Sentry DOCHUB-219): replacedQ(netid) | Q(email)OR query with a two-step lookup (netid first, email fallback). CAS fields are synced on every login so the DB stays up to date when ULB changes emails/netids.CasFailuremodel (read-only in admin) stores every auth error with code, details, ticket, and IP. Also logsEMAIL_CONFLICTwhen a CAS email update clashes with another account.actstream_*andauthtoken_tokentables from apps that are no longer installed.