-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enabling Eclipse as an authentication provider alongside GitHub makes usernames potentially non-unique and potentially breaks access control #2529
Comments
Temporarily disables eclipse as authentication provider due to discoveries in eclipse-vorto#2529 Signed-off-by: Menahem Julien Raccah Lisei <[email protected]>
@mena-bosch shouldnt it be possible to distinguish between an id which is prefix + username like "eclipse:j.feinauer@..." or "github:j.feinauer@..." and the name itself which is just the id without the prefix (would be "j.feinauer@..." in both cases but doesnt matter there. |
Hi @JulianFeinauer , first of all, many late thanks for your contribution implementing the #2330 task! Unfortunately at the time where I noted it down, I couldn't perform any pre-analysis, which is why we're here now. The solution you propose seems like a middle ground between having unique user IDs (my solution 1) and letting users with the same username coexist in Vorto (expected outcome of solution 2). As a side-note, we already persist the authentication provider for each user's first-time sign up, so we do have this data. Either this or keeping the two separate wouldn't come without consequences though, as we have quite a few foreign key references to the user's current ID as it was designed long ago (which would be just a 64 bit integer), so we'd have to work through that. The cons of this idea consist both in:
TL;DR
Happy weekend and hopefully talk soon! |
The original implementation of SuiteAuth used the "sub" field of the token as user ID to create/identify the Vorto user - this has now been changed to use the "ext/orig_id/sub" field, which contains a CIAM Bosch ID (S-***), so when you login, you will retrieve your Bosch ID user. This behaviour (retrieving a user from a potentially different authentication provider, was considered a bug in the context of Github/Eclipse, but is the desired behaviour for Bosch ID/ SuiteAuth. This needs to be considered, when addressing the Github/Eclipse issue. |
Before enabling authentication with Eclipse as a provider (see #2330), the only OAuth provider that used arbitrary usernames was Github (Bosch providers use UIDs in some form or another).
The user table has been designed with no user name uniqueness in mind originally, although it actually had unique usernames, since none of the OAuth providers supported would "step on each other's toes" in that regard.
The lack of uniqueness restriction on one end, and the fact that there can be two identical usernames belonging to two different users on the other has the potential to break access control entirely throughout the application.
There are two alternative solutions to this, and an immediate workaround:
The text was updated successfully, but these errors were encountered: