ION won't allow `accept` value for service objects
brianorwhatever opened this issue · 10 comments
I don't use ION but it looks like there might be some limitations here based on this discussion.
decentralized-identity/ion-tools#16 (comment)
I'm concerned other did methods will also have this limitation
It's likely that this will be a problem depending on implementation design. The best thing we can do is to stabilize that service, register it, and then make sure that as many DID methods as we know are getting used can support it. I'm not sure that there's anything else we can do other than that.
Folks should be putting random keys inside a serviceEndpoint
object value to avoid polluting the top-level Service entry with foreign keys that could conflict with later additions to the DID Core spec. For example, I'd advise doing this:
{
id: '...',
type: '...'
serviceEndpoint: {
accept: ...,
routingKeys: ...
}
}
From the did core spec
Each service extension MAY include additional properties and MAY further restrict the properties associated with the extension.
From the did core spec
Each service extension MAY include additional properties and MAY further restrict the properties associated with the extension.
I'm not saying that route isn't allowed, just that I'd advise the safer route of constraining more elaborate configurations to completely cordoned off userland serviceEndpoint object values, as other Service types have.
can you link to the other service types?
The only examples in the did spec registry is this didcomm usecase, a few simple strings and an example of an array of strings with an origins
key which to me is explaining the service endpoints, not how they work.
I am interested in seeing other folks who are using a complex object as a serviceEndpoint
as to me this will involve more complicated handling than extending the top level service object node. I believe an endpoint should be an endpoint. Additional details about how that endpoint is used should be siblings not children.
Nevermind...I see the difference. Comment deleted.
Need to find a solution that works for ION. specify the structure of the object serviceendpoint type?
Discussed WG 20220131. Need explicit examples of existing format for service endpoint, and explicit examples of an ION friendly way. Survey community to gather feedback about conflicts.
Fixed with #352