Inconsistency in identifiers for apps: WebIDs and ClientIDs
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 563
- Forks
- 108
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 3
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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing Solid Protocol Section 9.1 and Solid Interop Section 7.1.2, then compare the WebID and ClientID documents and their terminology. The issue needs an agreed identifier model and coordinated specification updates; done means the relevant specifications consistently define how applications are identified and registered.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100