-
Notifications
You must be signed in to change notification settings - Fork 13
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
Standard way to add/change WebID at the Identity Provider #46
Comments
Allowing a user to change their identity claim is very dangerous and not something that should be part of Solid-OIDC |
I don't see why it would be more dangerous than allowing a user to create an identity in the first place. Can you elaborate, @acoburn? One could envision, for example, a scenario where one uses an ID Token of IdP A to prove to IdP B that one has a certain WebID, upon which IdP B also starts to issue tokens with that identification. Do I miss a glaring vulnerability in there? If so, we should really brainstorm about alternatives, since this issue constitutes a real-world blocker for clients we're actively developing for. |
Assume I have a WebID at These are three different identities. If I allow
That is delegation. You can build a delegation system on top of OAuth2 (and by extension Solid-OIDC), but that doesn't mean changing Solid-OIDC. |
Given my scenario and you example data, that would be impossible, since
That does not quite address the use-cases we are struggling with. In the example of Google, it is not possible to link two accounts (e.g. If you are wondering about real world applications of such links, one of them would be to enable identification data of one form/provider to be used with the credential type/security of another provider. Suppose I have a WebID
If you think delegation can solve the above use-case, then by all means tell me how. (*) Note that this is not a fictive story, but a real world use case we are currently trying to implement on request of a client. |
Those are some standardized mechanisms. Other mechanisms are also possible, but that is where I would start. |
Access Control Policies support identity provider-based controls: https://solid.github.io/authorization-panel/acp-specification/#issuer-matcher |
@acoburn Thanks again for the pointers, they were very interesting. However, UMA requires an integration with the resource server (to deliver permission tickets) which is not provided by Solid. OAuth2.0 Token Exchange, while definitely useable, does not get to the core of this issue, viz. how one would set the possible delegations/impersonations in a secure and preferably standardized way, i.e. how would a a user/identity indicate to the STS that e.g. its Access Token token can be exchanged for one with a different webid? |
For future reference, this might also be interesting: OIDC Claims Aggregation (draft) |
Neither OAuth2.0, nor OpenID Connect (nor, currently, Solid-OIDC), specifies how to let a user/subject add or change claims — and, by extension, their identifying information (e.g.
sub
andwebid
claims). Making the jump from local to global information, however, Solid-OIDC would i.m.o. benefit from standardizing this, at least for those claims that are accepted identifiers within the Solid ecosystem (*).Specific use-cases that come to mind are:
While not necessarily about account registration, this seems closely linked to #77 (proposing to incorporate the OpenID Connect Create Prompt draft).
Very interested to hear your thoughts on this, whether you think this is desirable, and how you think this could best be achieved.
(*) I'm writing this about WebIDs, but this holds more generally for all kinds of "solid claims", cf. #26.
The text was updated successfully, but these errors were encountered: