Proposal: Support Decentralized Identifiers (DIDs) in addition to Web IDs
Open
Nobody has claimed this yet.
doc: Ecosystem
topic: identity
- Dominant language
- HTML
- Stars
- 563
- Forks
- 108
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 3
Description
This is a placeholder proposal for the Solid project to support Decentralized Identifiers (DIDs), in addition to Web IDs.

Similarities:
- Both DIDs and Web IDs are URIs (follow the URI RFC), both resolve to a Linked Data document
- Both are used as identifiers for individual people, organizations, services, and other entities
- Both are intended to store Public Key material, for uses such as authentication
- Both store links to documents or API endpoints (such as preferences, OIDC Issuers, etc)
- Essentially interoperable
Differences:
- PII: In addition to key material and links, Web ID Profiles also contain Personally Identifiable Information (PII) such as User Profile Info (name, email, user picture), or the user's Social Graph (using things like
foaf:knows). DID Documents, on the other hand, are required (due to GDPR pressures and similar) to not store any sort of PII, as much as is possible. - Vocab: Web ID Profiles use a combination of
foaf,solidandcertvocabularies. DID Documents use thedidvocab. - Key Type Support: DIDs use the Linked Data Proof and Linked Data Signatures specs, and support a wider array of key types (RSA, Ed25519, Curve25519, Secp256k1, etc) and purposes (authentication, digital signatures, encryption, delegation, capability invocation)
- Storage and Resolution mechanisms: There are many different DID methods; some of them store their DID Documents on distributed ledgers, some of them on the Web (see the
did:webmethod), some on IPFS, some on IoT devices, etc. - W3C Level of Standardization: The DID spec has been incubated for 3 years in the Credentials Community Group, and is now an official W3C DID Working Group.
(Inrupt, as well as the Solid community, should join the DID WG!)
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 the linked DID Core and did:web specifications alongside the Solid specification context. Define the intended DID and Web ID interoperability scope, required vocabulary and resolution behavior, and an agreed set of specification changes before implementation can be considered done.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication, documentation, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100