Skip to content
This repository has been archived by the owner on Oct 29, 2019. It is now read-only.

Add "service-type" DID URL matrix parameter. #191

Closed

Conversation

peacekeeper
Copy link
Member

@peacekeeper peacekeeper commented Apr 27, 2019

This adds one concrete DID URL matrix parameter. See #189.

Description: Identifies a set of services from the DID Document by service type.

Example: did:example:1234;service-type=agent


Preview | Diff

@@ -825,6 +825,15 @@ <h2>
</thead>

<tbody>
<tr>
<td>
<code>service-type</code>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand the use case here. Why can't you dereference the DID Document, search for the service type you're looking for, and use that?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree we could just leave it at that. However I think I remember conversations with @dmitrizagidulin that he may see a need for including a service type in the DID URL; some of his examples and considerations are in #90.

Whatever we decide here would probably also apply to #193.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The specific request for service-type came from Daniel Buchner who has said for some months now that the folks working on identity hubs want to be able to request an array of all the services of that type (and that it will be typical for a DID controller to have more than one).

So while clearly the calling application could just request the DID document and then parse it itself, this matrix parameter would enable a DID URL to specify that specific service type, and thus for a resolver to follow the same algorithm for constructing a concrete URL as it would for a service parameter, only it would return an array of concrete URLs, not just one.

<code>service-type</code>
</td>
<td>
Identifies a set of services from the DID Document by service type.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do you use the list of services you get back when this is paired w/ a path?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The path/query/fragment of the DID URL would be applied to ALL service endpoints in the resulting set.

@peacekeeper peacekeeper force-pushed the peacekeeper-matrix-parameter-service-type branch from 674ad61 to 4a792ab Compare May 10, 2019 11:39
@peacekeeper peacekeeper changed the base branch from peacekeeper-matrix-parameters-new to gh-pages May 10, 2019 11:40
@peacekeeper
Copy link
Member Author

Quick note that in the 2019-05-30 DID Spec and DID Resolution Spec meeting we discussed this PR, and specifically the question whether we need matrix parameters for service selection, versioning, etc., or whether such functionality should be supported in a different layer (i.e. DID Resolution protocol). In the meeting, there was support for this matrix parameter, but we'll continue to discuss a bit more before merging.

@brentzundel
Copy link
Contributor

This repo is scheduled to be archived. The work has moved to the DID WG.
The artifacts in the DID WG repository share commit history with this repo, so it should be possible to raise this PR against that repo.

@peacekeeper
Copy link
Member Author

Closing. This PR has been re-created in the DIDWG repo: w3c/did-core#62

@peacekeeper peacekeeper closed this Oct 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
discuss Wider discussion in an issue or meeting required before merging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants