Add subject_identifier_types_supported property to AS Metadata - #227
Add subject_identifier_types_supported property to AS Metadata#227acoburn wants to merge 4 commits into
Conversation
…tadata requirements
|
@acoburn could you explain shortly your thinking behind SHOULD instead of MUST and the default |
|
Each of the authentication suites defines a validation section with text along the lines of
In other words, the AS either has a pre-existing trust relationship with the issuer (common in enterprise federations) or it doesn't (common in an open ecosystem deployment). Dereferencing the subject URI is therefore only necessary in the second case, meaning that there are entire categories of deployments in which the In RFC 8414, many of the optional properties have defaults, and there seemed to be general support for making that default "https". |
| <code>subject_token_types_supported</code> | ||
| OPTIONAL. JSON array containing a list of valid <code>subject_token_type</code> values | ||
| that can be supplied at the authorization server's token endpoint. An authorization server | ||
| SHOULD advertise the subject tokens that it supports by including this entry in the server metadata document. | ||
| </li> | ||
| <li> | ||
| <code>subject_uri_schemes_supported</code> | ||
| OPTIONAL. JSON array containing a list of URI scheme values for subject identifiers that the | ||
| authorization server supports. An authorization server SHOULD advertise the subject URI schemes | ||
| that it supports by including this entry in the server metadata document. | ||
| If omitted, the default value is <code>["https"]</code>. |
There was a problem hiding this comment.
It seems these should have <dfn> markup?
|
@elf-pavlik suggested that, for DID identifiers, a scheme would be insufficient. In those cases, we would need both a scheme and method, as already suggested in the examples. E.g., |
|
In order to support DID methods such as |
I do see the issue with using "schemes" given the strict URI definition, but Naming it after "resolvers" makes it sound like the AS is advertising an internal software component rather than a protocol element. Usually, iirc, parameters describe what the AS accepts or produces, rather than the processor required to handle it. Resolver/resolution is also an overloaded term as it might refer to act of retrieving the CID document, looking up the domain name for an IP address, or translating the URI string into a URI of a different scheme to further work with that. Would maybe something like a generic |
|
@uvdsl thank you for that suggestion. I find |
|
The metadata term has been changed to |
| <dfn><code>subject_identifier_types_supported</code></dfn> | ||
| OPTIONAL. JSON array containing a list of subject identifier types that the authorization server supports. | ||
| Each value is a URI scheme such as <code>"https"</code> or, for Decentralized Identifiers, | ||
| a <code>"did:"</code> prefix followed by the DID method name (e.g. <code>"did:web"</code>, <code>"did:key"</code>). | ||
| An authorization server SHOULD advertise the subject identifier types |
There was a problem hiding this comment.
| <dfn><code>subject_identifier_types_supported</code></dfn> | |
| OPTIONAL. JSON array containing a list of subject identifier types that the authorization server supports. | |
| Each value is a URI scheme such as <code>"https"</code> or, for Decentralized Identifiers, | |
| a <code>"did:"</code> prefix followed by the DID method name (e.g. <code>"did:web"</code>, <code>"did:key"</code>). | |
| An authorization server SHOULD advertise the subject identifier types | |
| <dfn><code>subject_identifier_types_supported</code></dfn> | |
| OPTIONAL. JSON array containing a list of subject identifier types that the authorization server supports. | |
| Each value is a URI starting with its scheme such as <code>"https:"</code>, or, for Decentralized Identifiers, | |
| <code>"did:"</code> followed by the DID method name (e.g., <code>"did:web"</code>, <code>"did:key"</code>). | |
| An authorization server SHOULD advertise the subject identifier types |
|
While I agree with the need for this metadata, and the phrasing, I have two questions:
(The latter point also holds for the token types field, which could potentially be aligned with RFC 8693's Subject/Actor Token Types, OIDC IDA's Evidence Types, GNAP's |
|
https://www.rfc-editor.org/rfc/rfc9493.html#name-decentralized-identifier-di
How can we advertise a method? https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
https://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes
I don't think we could reuse this one. |
Resolves #151
This defines a new property for the authorization server metadata document:
subject_identifier_types_supported. (Other, previously considered terms included:subject_uri_schemes_supported,subject_uri_resolvers_supported).Inclusion of the new property is set at
SHOULDlevel. If omitted, the default value is["https"]Preview | Diff