You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scope the passwordless invite lookup to its organization
create_passwordless reuses an outstanding invite rather than creating a second
role for the same person, but it looked the invite up by email alone. An invite
at any other organization matched and was returned, so the organization actually
being joined never got a role - and the caller got back a role belonging to
somewhere else. Saml::AssertionProcessor reads .user off that role, so an SSO
login could provision against the wrong organization entirely.
The lookup now takes organization_id, and normalizes the email the way the
record stores it so a differently-cased invite still matches.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0 commit comments