require sending Accept header when fetching metadata#63
Conversation
|
I do wonder if this would break backwards compatibility with Solid OIDC which expects ld+json responses (and perhaps requests) |
|
I am a bit rusty on media types but isn't there a way to say |
|
Interesting prior-art to using (although I don't think I've ever seen that in the wild) |
|
@aaronpk wrote:
Relevant history:
In summary: DID work reached out to IETF about +ld+json as a potential structured suffix, and got a skeptical response in 2020. An RFC draft was filed to update the structured suffix registry in 2022, but after IETF review it was rejected and the RFC draft expired. There is now another draft RFC updating the structured suffix registry to disallow multiple suffixes:
It is possible for the DID work to have pursued something like Multiple media typesUnfortunately, this creates a bit of a new quagmire: how do you signal or know when multiple media types apply? https://www.w3.org/TR/vc-data-model-2.0/#media-type-precision describes the concept of "media type precision":
So we can see that the best practice right now is to be as precise as possible, wherever feasible. JSON-LD and Solid-OIDC compatibilitySide note regarding JSON-LD: content type sniffing is also possible in some cases, such as detecting the presence of a Solid-OIDC specifically does not require any specific Accept type; it currently requires
It seems like CIMD doesn't require the response to use Summary
Recommended language to add
|
|
@trwnh I think we already solve for both those edge cases of returning 300 / 406 by requiring the response status code of 200 for a CIMD request from the authorization server. |
|
I think on:
We could use language that says:
Would that make sense? I'm also saying "Authorization Servers" there instead of "Clients" because the OAuth Relying Party "client application" would generally not actually need to "request" the CIMD, though, of course anything can request a CIMD. I just want to set the expectations for an Authorization Server more explicitly. That language also precludes the usage of |
|
@ThisIsMissEm wrote:
the language could be more clear; "require 200" implies "default representation" to avoid the 300 or 406. @ThisIsMissEm wrote:
i don't think the requester of a CIMD "SHOULD expect to receive a less specific Content-Type", but rather they "SHOULD be prepared to handle responses with a less specific Content-Type". it wouldn't be weird for the CIMD host to serve @ThisIsMissEm wrote:
the earlier language already precludes this sort of: "These less precise media types MAY include application/json or application/ld+json" what i left out was an explicit requirement that the CIMD requester SHOULD NOT / MUST NOT proceed with text/plain or application/octet-stream, though. i also left out any considerations of +json as a structured suffix. i'm not sure that these kinds of responses are always or generally security errors; it depends on whether the CIMD requester can be potentially misled by a text file which happens to parse as a valid CIMD, and i don't see how... |
@trwnh no, this isn't the case. We only require |
|
I don't understand what you're trying to show on the nginx block there. |
|
sorry, i must have been reading an older version of the text, disregard that part |
Replaces #51, for #30