-
Notifications
You must be signed in to change notification settings - Fork 74
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
Consent stage breaks usability and user relation with IDP. Raises privacy issues for IDPs #11
Comments
Great points! Let me try to address them:
IDPs rely on the conventions browsers use to assess that authorization was given by a specific user (e.g. a was filled and submitted, a JS event was fired, etc). IDPs would use different conventions (TBD), but the same trust relationship.
In this latest formulation, IDPs would get the information of RPs after user consent.
In this latest formulation, we would break down authentication from authorization, so the intermediation would only happen for the former but not for the latter (where scopes/claims are used). I need to write that down, as that's unclear in the explainer right now.
Agreed, and I need to keep that section in an "Alternatives Considered" section. The challenge with this formulation is that it can be abused by trackers and used outside of the scope of authentication. By imposing a stricter UI, the browser can be more confident that it is being used for the purposes of exchanging identity related tokens. That is, if the IDP gets to control more of the UI, what prevents a tracker from using the API for tracking purposes? |
Ok, I think it's important to have this stated explicitely.
I think we'd need to break down the phases of the process down a bit more granular, we maybe have a different understanding of the consent phase /UI. I think what you are referring to might be what I'd call account selection/discovery - see also below
I think I understand where your getting at, typically a login process with an IDP has the following phases in my view (feel free to add).
Are you saying that the proposal would mainly relate to 1 and 4 and leave the rest of the phase untouched (other then using new JS-API to initiate / transfer the necessary details)?
Ok - so the scenario is that an adversary (using a more general term) would misuse the API by basically just mocking the calls (no user interaction whatsoever), access some client side storage and pass back information (while also collecting data provided). Looking at the phases above this could be prevented by focussing on phase 1 and 4 I would think:
Edit:
Thanks, appreciated. |
This issue asks some questions which we believe are solved with some of the APIs we are proposing, such as the w3c-fedid/custom-requests#1 continuation API, w3c-fedid/custom-requests#4 fields API, and w3c-fedid/custom-requests#2 params. Since there has not been an update on this in 4 years, I'm going to close it but feel free to comment if you think something else needs to be addressed and we can reopen. |
The latest changes in https://github.com/samuelgoto/WebID#the-consent-stage don't look workable for an IDP and will largely affect user convenience and expectation.
IDPs rely on a direct user interaction (IDP UI) for a user to authorise information sharing with an RP and also to validate the RPs identity. The proposal raises some fundamental concerns:
Users rely on an IDPs service across devices / different browsers / different sessions for an RP on a single browser. This interaction is unknown to the browser thus user interactions will not meet user expectation:
The prior approach of wrapping the IDP Interaction with the user into an identity-specific API/Wrapper looked much more balanced and workable for the stated goals to minimize the divergence from existing federated identity user experience. The control of the authentication/authorisation flow must remain with the IDP thought (without duplication by the browser)
The browser can very well observe the interaction of the user with the IDP and also inform the user about an RP session state with an IDP. Ultimately its the users choice to leverage an IDP with an RP which is completely unrelated to the browser itself, I do believe this choice should be respected and don't see how this decoupling could work out. IDP Tracking might be scenario, but it should not dictate the whole design of this API (with the noted impacts) as the IDP is a service chosen by the user
The text was updated successfully, but these errors were encountered: