-
Notifications
You must be signed in to change notification settings - Fork 137
Description
Wikimedia requires enhanced SSO handling and username mapping to improve participant identification and Trust & Safety workflows during event registrations on Eventyay.
The requested functionality primarily concerns how usernames from SSO (e.g., Wikimedia OAuth) are pre-filled, displayed, and stored for audit and vetting purposes.
This ensures that Wikimedia usernames are applied consistently across public-facing sections of the platform, while organizers have control over whether this behavior is active through event settings.
Requirements
1. Organizer-Controlled Setting
-
Introduce a new toggle in Event Settings → General / SSO Settings:
“Use Wikimedia username as the value for the public Name field” -
When enabled:
- Users who log in through Wikimedia SSO will automatically have their Wikimedia username applied as the value for the public “Name” field.
- This applies across all visible contexts — user profiles, registration forms, badges, and public attendee lists.
-
When disabled:
- The “Name” field remains user-editable and behaves as standard, without pre-filling from SSO.
-
The toggle works per event, giving Wikimedia events full control while preserving default behavior for others.
2. Username Pre-Fill and Display Mapping
-
Upon login via Wikimedia SSO:
- The Wikimedia username should pre-populate the “Name” field on the registration form.
- The user may still edit the field (unless the organizer locks it in a later enhancement).
- The name value should propagate consistently across all parts of the platform that display the participant’s name (profiles, badges, talk listings, and attendee lists).
3. Persistent Storage of Original SSO Username
- Add a permanent, non-editable field (e.g.,
original_sso_username) to store the username received from Wikimedia OAuth. - This field remains tied to the user account even if the user changes their display or public name.
- Visible only to admins and organizers for Trust & Safety review; never shown to public users or included in open API responses.
4. Admin Access for Trust & Safety
- Add an admin-only view (or user detail field) displaying the original Wikimedia SSO username.
- Optionally include it in secure exports for event vetting or moderation.
5. Data Integrity and Privacy
- The
original_sso_usernamemust not be editable by the user. - SSO re-logins must preserve the stored username (no overwrite).
- Maintain backward compatibility for all non-SSO accounts.
Possible Implementation Notes
- Extend the Wikimedia OAuth login handler to store the
usernameclaim asoriginal_sso_username. - Add a Boolean field
use_sso_username_as_public_nameto the Event model. - Modify the registration and profile components to conditionally pre-fill the user’s display name when the organizer setting is active.
- Update Django admin and API serializers to expose the stored
original_sso_usernameto admins only. - Ensure consistent mapping between SSO login data and display name updates.
Testing Checklist
- Organizer toggles “Use Wikimedia username…” → platform uses SSO username as display name.
- Organizer disables toggle → normal editable “Name” field behavior restored.
- Registration form pre-fills Wikimedia username correctly.
- Display name propagates across profile, badge, and attendee lists.
- Admins can view
original_sso_usernamein user details. - Users cannot see or edit their original SSO username.
- Repeated SSO logins preserve stored username.
- Feature applies per event, not globally.