title | category | type | source |
---|---|---|---|
Decentralized Identity Document |
pki |
reference |
This is the subset of the DID Document spec that we implement as part of the uPort platform.
The Identity document is stored on IPFS and tied to the address using the uport registry as specified in the PKI document.
The Identity document must contain the public key for the identity, everything else is optional. Anything in this document is public, so please be wary of publishing any Private information to it.
This is an example of a minimal identity document:
{
"@context": "https://w3id.org/did/v1",
"id": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX",
"publicKey": [{
"id": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX#keys-1",
"type": "Secp256k1VerificationKey2018",
"owner": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX",
"publicKeyHex": "04613bb3a4874d27032618f020614c21cbe4c4e4781687525f6674089f9bd3d6c7f6eb13569053d31715a3ba32e0b791b97922af6387f087d6b5548c06944ab062"
}, {
"id": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX#keys-2",
"type": "Curve25519EncryptionPublicKey",
"owner": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX",
"publicKeyBase64": "QCFPBLm5pwmuTOu+haxv0+Vpmr6Rrz/DEEvbcjktQnQ="
}],
"authentication": [{
"type": "Secp256k1SignatureAuthentication2018",
"publicKey": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX#keys-1"
}]
}
This is a example of a identity document for an app with extra public profile information:
{
"@context": "https://w3id.org/did/v1",
"id": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX",
"publicKey": [{
"id": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX#keys-1",
"type": "Secp256k1VerificationKey2018",
"owner": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX",
"publicKeyHex": "04613bb3a4874d27032618f020614c21cbe4c4e4781687525f6674089f9bd3d6c7f6eb13569053d31715a3ba32e0b791b97922af6387f087d6b5548c06944ab062"
}],
"authentication": [{
"type": "Secp256k1SignatureAuthentication2018",
"publicKey": "did:uport:2nQtiQG6Cgm1GYTBaaKAgr76uY7iSexUkqX#keys-1"
}],
"uportProfile": {
"@context":"http://schema.org",
"@type":"Organization",
"name":"uPort @ Devcon 3",
"description":"Uport Attestations",
"image":{"@type":"ImageObject","name":"avatar","contentUrl":"/ipfs/QmSCnmXC91Arz2gj934Ce4DeR7d9fULWRepjzGMX6SSazB"}
}
}
Name | Description | Required |
---|---|---|
@context |
https://w3id.org/did/v1 |
yes |
publicKey |
array of allowed public key objects containing hex encoded secp256k1 ECDSA curve public keys and/or Ed25519 | yes |
authentication |
array of authentication objects specifying which keys are allowed to be used for authenticating the identity owner | yes |
owner |
Public profile information compatible with schema.org | no |