-
Notifications
You must be signed in to change notification settings - Fork 76
Description
An app in Solid needs to have an identifier. The spec states that "WebIDs [...] are used as the primary identifier for users and applications." (Solid Protocol, Section 9.1).
However, currently, apps are not only identified by their WebID, but also by their ClientID.
This leads to inconsistencies that hinder implementation. Examples are:
- The Interop spec defines an endpoint for Agent Registration Discovery (Solid Interop, Section 7.1.2) that should be able to lookup a registration for an agent based on the user's access token. This token contains the ClientID of the agent whilst the registries of the interop spec contain the WebID of the application
- There are two documents that describe an app (i.e. the WebID document and the ClientID document) and those documents contain duplicate information that is defined by different terms (e.g. interop:applicationName and oidc:clientName).
- ...
Considering that the Solid spec states that WebIDs "should be the primary identifier for users and applications", it seems logical to continue with the WebID of an app and drop the ClientID of an app.
One solution would be to merge the information in both documents into one (WebID) document and serialise this information as desired using content negotiation.
However, in this solution, there would be a number of additional problems:
- Solid and in particular Solid OIDC and the WebID spec say nothing about
Acceptheaders - This would still not solve the issue of different terms to describe the same information
Given the importance of keeping the specification consistent and the use of identifiers within Solid, I hope we can tackle this issue as fast as possible.