Commit Graph
13 Commits
Author SHA1 Message Date
frommeandClaude Opus 5 f080d05dd6 fix: normalize the login email case
The login address was only trimmed, so the casing somebody happened to type at
their very first login was frozen into the user row forever — createOrUpdateLocalUser()
never wrote the address back. Everything downstream re-sends the stored address
rather than the one just authenticated with, which also leaked that casing into the
OAuth2 email claim and the log identities.

Harmless in practice, since BusPro matches an address case-insensitively and so does
the utf8mb4_unicode_ci column, but it left User out of step with the newsletter
entities, which have always normalized.

Fold the case once in authenticate(), which covers the BusPro calls, the lookup and a
new account alike, and write the address back on every login so an account created
before this converges instead of staying frozen. No backfill: a row nobody logs into
again is matched case-insensitively either way.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-21 10:03:06 +02:00
fromme ec83ad598f feat: identify the authenticated account in the userinfo claims 2026-09-19 10:54:06 +02:00
fromme 540cd8eeb7 feat: reserve administrative roles for staff email addresses 2026-09-17 18:13:52 +02:00
fromme 1d14f00bb7 feat: additional role 'customer expert' 2026-09-15 15:00:59 +02:00
fromme b41820c39d feat: email the administrators when a role nomination appears 2026-09-13 12:50:01 +02:00
fromme fab89dead6 feat: derive ROLE_EMPLOYEE from the account's email domain 2026-09-13 12:49:51 +02:00
Björn Fromme bfad61f1dd feat: upgrade phpunit to 12.5 2026-08-31 09:31:00 +02:00
Björn Fromme 2601e46ec4 fix: never persist a half-built user on first login 2026-08-19 12:30:42 +02:00
Björn Fromme 0c667d6b69 feat: align role assignment logic with myep-team 2026-08-19 12:14:09 +02:00
Björn Fromme b5f1163e2d fix: handle access denied errors properly 2026-08-17 16:29:58 +02:00
Björn Fromme d74127ebe2 fix: drop the implicit ROLE_USER from the userinfo roles claim 2026-08-12 17:47:44 +02:00
Björn Fromme 7a82127494 feat: sync non-privileged BusPro roles on every login 2026-08-12 17:47:15 +02:00
Björn Fromme 6c1073e41c feat: admin-managed roles and hotel codes 2026-08-10 10:07:24 +02:00