Skip to content

Inconsistency in identifiers for apps: WebIDs and ClientIDs #463

@tomhgmns

Description

@tomhgmns

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 Accept headers
  • 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions