Make CliendID URIs a MUST#236
Conversation
|
I think (hope) we can still make client-side web apps work securely though, if we resume work on solid/webid-oidc-spec#34 |
|
By client-side web apps I mean the "client" is the code running in a specific tab in a specific window of a specific browser on a specific device, even if its source code has a global identifier. Similar for smartphone apps. |
|
I do think that client restrictions / client authentication is an important security control. In my mind, it is sufficient to allow usage of Client ID URIs (and Documents) such that client restrictions can be applied. If a client uses dynamic registration, then they simply must not be able to access data where access is restricted to certain (identifiable) clients. Therefore, I think using Client ID URIs (and Documents) should be strongly encouraged rather than required. |
|
While in https://solid.github.io/solid-oidc/#clientids-oidc Not making it a MUST mostly leaves an option for semi-walled gardens to not use it. |
|
Uhm, I beg your pardon, can you elaborate what you mean? I am unable to follow your reasoning...? |
|
@elf-pavlik, what exactly is the problem you are seeing? I don't get it. |
|
https://solid.github.io/solid-oidc/#clientids-document
My understanding is that we already have MUST on OP, so it is the only reliable mechanism given that DynReg is optional for OP. |
|
I think you try to say that the spec requires an OP to be able to dereference Client ID URIs (if presented) and not requires an OP to support dynamic registration. Yes? Please spell out your reasoning why then disallowing dynamic registration altogether is a good idea? |
|
I'm not saying that we should disallow it, I'm only noticing that it is already unreliable in open ecosystem, and unless client operates in some kind of semin-closed context where it has realiable DynReg, URL Client IDs are the only reliable option on the table. |
|
Well, by requiring using a Client ID URI, you are effectively disallowing dynamic registration 🤷 .
I don't know where you are getting this from. All major Solid server implementations support dynamic registration...? |
How about we add it to CG agenda and try to clarify this topic further during the meeting? |
This is intended as a conversation starter. If we want to have proper client constraints, for example,
acp:client,we need reliable global identifiers for clients. DynReg could be useful during early development, but production systems must always use URIs to denote clients. This way, theredirect_urigets verified.related: