Section 3.3 "Retrieve Verification Method":
- Let
controllerDocumentUrl be the result of parsing vmIdentifier according to the rules of the URL scheme and extracting the primary resource identifier (without the fragment identifier).
Later, controllerDocumentUrl is used to retrieve the controlled identifier document:
- Let
controllerDocument be the result of dereferencing controllerDocumentUrl, according to the rules of the URL scheme and using the supplied options.
This only works if the verification method is defined as a fragment within the controller document. Is that a requirement?
The text in section "2.2 Verification Methods" also seems to imply that verification methods should be embedded in some controller document, but this is not stated explicitly. The description of the verificationMethod.id property doesn't say that URL must contain a fragment identifier.
Example:
(controller document)
{
"@context": "https://www.w3.org/ns/cid/v1",
"id": "https://controller.example",
"authentication": [
"https://controller.example/main-key"
]
}
(verification method: not a fragment)
{
"id": "https://controller.example/main-key",
"type": "Multikey",
"controller": "https://controller.example",
"publicKeyMultibase": "z6MkmM42vxfqZQsv4ehtTjFFxQ4sQKS2w6WR7emozFAn5cxu"
}
Section 3.3 "Retrieve Verification Method":
Later,
controllerDocumentUrlis used to retrieve the controlled identifier document:This only works if the verification method is defined as a fragment within the controller document. Is that a requirement?
The text in section "2.2 Verification Methods" also seems to imply that verification methods should be embedded in some controller document, but this is not stated explicitly. The description of the
verificationMethod.idproperty doesn't say that URL must contain a fragment identifier.Example:
(controller document)
{ "@context": "https://www.w3.org/ns/cid/v1", "id": "https://controller.example", "authentication": [ "https://controller.example/main-key" ] }(verification method: not a fragment)
{ "id": "https://controller.example/main-key", "type": "Multikey", "controller": "https://controller.example", "publicKeyMultibase": "z6MkmM42vxfqZQsv4ehtTjFFxQ4sQKS2w6WR7emozFAn5cxu" }