diff --git a/index.html b/index.html index c9693eb7..949c969d 100644 --- a/index.html +++ b/index.html @@ -2995,7 +2995,8 @@

All conformant DID resolvers MUST implement the DID resolution -function for at least one DID method and MUST be able to return a DID +function for at least one DID method. All conformant +DID URL dereferencers MUST be able to return a DID document in at least one conformant representation.

@@ -3013,7 +3014,7 @@

resolve ( did, did-resolution-input-metadata )
-     -> ( did-resolution-metadata, did-document-stream, did-document-metadata ) +     -> ( did-resolution-metadata, did-document, did-document-metadata )

@@ -3034,7 +3035,9 @@

A metadata structure consisting of input options to the resolve function in addition to the did -itself. This input is REQUIRED, but the structure MAY be empty. +itself. +Properties defined by this specification are in . +This input is REQUIRED, but the structure MAY be empty.
@@ -3052,17 +3055,16 @@

REQUIRED and MUST NOT be empty. This metadata typically changes between invocations of the resolve function as it represents data about the resolution process itself. +Properties defined by this specification are in . +If the resolution is not successful, this structure MUST contain an error property describing the error.
-did-document-stream +did-document
-If the resolution is successful, this MUST be a byte stream of the resolved -DID document in one of the conformant representations. The byte -stream MAY then be parsed by the caller of the resolve function -into a DID document abstract data model, which can in turn be validated -and processed. If the resolution is unsuccessful, this value MUST be an empty -stream. +If the resolution is successful, this MUST be a DID document conforming to +the abstract data model, which can be validated and processed. +If the resolution is unsuccessful, this value MUST be empty.
did-document-metadata @@ -3071,11 +3073,12 @@

If the resolution is successful, this MUST be a metadata structure. This structure contains metadata about the DID document contained in the -did-document-stream. This metadata typically does not change +did-document. This metadata typically does not change between invocations of the resolve function unless the DID document changes, as it represents data about the DID document. If the resolution is unsuccessful, this output MUST be an empty metadata structure. +Properties defined by this specification are in . @@ -3089,12 +3092,258 @@

function specified here.

+
+

+DID Resolution Input Metadata Properties +

+ +

+The possible properties within the did-resolution-input-metadata structure and their possible values are defined by [[DID-SPEC-REGISTRIES]]. +

+
+ +
+

+DID Resolution Metadata Properties +

+ +

+The possible properties within the did-resolution-metadata structure and their possible values are defined by [[DID-SPEC-REGISTRIES]]. +This specification defines the following common properties. +

+ +
+
+error +
+
+The error code from the resolution process. +This property is REQUIRED when there is an error in the resolution process. +The value of this property is a single keyword string. +The possible property values of this field are defined by [[DID-SPEC-REGISTRIES]]. +This specification defines the following error values: +
+
+invalid-did +
+
+The DID supplied to the DID resolution function does not +conform to valid syntax. (See .) +
+
+unauthorized +
+
+The caller is not authorized to resolve this DID with +this DID resolver. +
+
+not-found +
+
+The DID resolver was unable to find a did-document +for this resolution request. +
+
+
+
+ +
+

DID URL Dereferencing

+

+The DID URL dereferencing function dereferences a DID URL into content +identified by that DID URL. This content MAY be a DID document, a +portion of a DID document, a service endpoint, or some other data. +The DID URL dereferencer first MUST resolve the DID within the DID URL into a DID document using a DID resolution process. +The details of the implementation of this function +are outside the scope of this specification, but all implementations MUST implement +a function which has the following abstract form: +

+ +

+dereference ( did-url, did-url-dereference-input-metadata )
+     -> ( did-url-dereference-metadata, content-stream, did-document-metadata ) +

+ +

+The input variables of this function MUST be as follows: +

+ +
+
+did-url +
+
+A conformant DID URL as a single string. This is the DID URL to dereference. +This input is REQUIRED. +
+
+did-url-dereference-input-metadata +
+
+A metadata structure consisting of input +options to the dereference function in addition to the did-url +itself. +Properties defined by this specification are in . +This input is REQUIRED, but the structure MAY be empty. +
+
+ +

+The output variables of this function MUST be as follows: +

+ +
+
+did-url-dereference-metadata +
+
+A metadata structure consisting of values +relating to the results of the DID URL dereferencing process. This structure is +REQUIRED and MUST NOT be empty. This metadata typically changes between +invocations of the dereference function as it represents data about the +dereferencing process itself. +Properties defined by this specification are in . +If the resolution is successful, this structure MUST contain a content-type property containing the mime-type of the content-stream in this result. +If the resolution is not successful, this structure MUST contain an error property describing the error. +
+
+content-stream +
+
+If the dereferencing is successful, this MUST be a byte stream of the dereferenced +content. The content MAY be a DID document in one of the conformant +representations. In this case, the byte +stream MAY then be parsed by the caller of the dereference function +into a DID document abstract data model, which can in turn be validated +and processed. If the dereferencing is unsuccessful, this value MUST be an empty +stream. +
+
+did-document-metadata +
+
+If the dereferencing is successful and the dereferenced content is a +DID document, this MUST be a metadata +structure. This structure contains +metadata about the DID document contained in the +content-stream. This metadata typically does not change +between invocations of the dereference function unless the DID +document changes, as it represents data about the DID document. If +the dereferencing is unsuccessful, or if the dereferenced content is not +a DID document, this output MUST be an empty +metadata structure. +Properties defined by this specification are in . +
+
+ +

+DID URL dereferencer implementations MUST NOT alter the signature of this +function in any way. DID URL dereferencer implementations +MAY implement and expose additional +functions with different signatures in addition to the dereference +function specified here. +

+ +
+

+DID URL Dereferencing Input Metadata Properties +

+ +

+The possible properties within the did-url-dereferencing-input-metadata structure and their possible values are defined by [[DID-SPEC-REGISTRIES]]. +This specification defines the following common properties. +

+ +
+
+accept +
+
+The MIME type of the caller's preferred representation of the DID document or other content identified by the DID URL. The DID URL dereferencer implementation +MAY use this value to determine the representation contained in the returned content-stream if such +a representation is supported and available. This property is OPTIONAL. +
+
+
+ +
+

+DID URL Dereferencing Metadata Properties +

+ +

+The possible properties within the did-url-dereferencing-metadata structure and their possible values are defined by [[DID-SPEC-REGISTRIES]]. +This specification defines the following common properties. +

+ +
+
+content-type +
+
+The mime-type of the content in the returned content-stream. +This property is REQUIRED if dereferencing is successful and a content-stream is returned. +If the value of this property is the mime-type of one of the conformant representations of a DID document, +then the caller of the dereference function MUST use this value when determining how to +parse and process the content-stream returned by this function into a +DID document abstract data model. +
+
+error +
+
+The error code from the dereferencing process. +This property is REQUIRED when there is an error in the dereferencing process. +The value of this property is a single keyword string. +The possible property values of this field are defined by [[DID-SPEC-REGISTRIES]]. +This specification defines the following error values: +
+
+invalid-did-url +
+
+The DID URL supplied to the DID URL dereferencing function does not +conform to valid syntax. (See .) +
+
+unauthorized +
+
+The caller is not authorized to dereference this DID URL with +this DID URL dereferencer. +
+
+not-found +
+
+The DID URL dereferencer was unable to find a content-stream +for this dereferencing request. +
+
+
+
+ +
+ +
+ +
+

+DID Document Metadata Properties +

+ +

+The possible properties within this structure and their possible values are defined by [[DID-SPEC-REGISTRIES]]. +This specification defines the following common properties. +

+