using credential_type as a key in issuer metadata.
Opening an issue because there is no corresponding one to a change being made in a PR #240.
It removes an identifier used as a key in the credentials_supported
object and the types inside formats object, and insted uses type (also used in scopes) as a key in the credentials_supported
object.
From below
{
"credentials_supported": {
"university_degree": {
"formats": {
"ldp_vc": {
"types": ["VerifiableCredential", "UniversityDegreeCredential"]
}
}
}
}
}
to
{
"UniversityDegreeCredential": {
"university_degree": {
"formats": {
"ldp_vc": {
}
}
}
}
}
Comments (5)
-
-
I don’t quite understand what is going on here - The credential issued in the first case would be both a
VerifiableCredential
and aUniversityDegreeCredential
. Having a higher-level identifier for a credential likeuniversity_degree
is necessary so that one can statically define what is available and how to request it. Otherwise, wallets must dynamically interact with the issuing authority to discover which facets of configuration parameters and which claims can be combined. -
@David Waite When you say “statically define” what do you mean by this? If each Issuer has its own (different) static definition (which I believe the current specification requires) then all wallets must interact with each issuer to find out what their static definition is before they can interact with it. This does not seem like the correct approach.
Instead we need globally unique identifiers for each credential type that is to be issued (or an IANA register but this will be massive given the different number of VC types there will be). So my proposal is for globally unique identifiers. And you will notice that the first examples in the existing specification already do this. Fortunately this is not difficult to document. For W3C VCs, both
VerifiableCredential
andUniversityDegreeCredential
are aliases for globally unique URIs defined in the@context
property of the VC. FurthermoreVerifiableCredential
is mandatory in each W3C VC so can be ignored for selection purposes. So nothing in addition to the URI ofUniversityDegreeCredential
(or this alias if the@context
can be assumed) is needed in order to uniquely refer to this particular W3C credential type. For mDL we can use the globally unique ID specified in the ISO standard. When new types of credentials are invented, we can require that they also have their own globally unique IDs.
-
reporter -
reporter - changed status to resolved
PR merged
- Log in to comment
The reason is that the protocol is currently inconsistent. It uses the parameter
credential_type
in both the Initiate Issuance Request and theauthorization_details
Parameter of the Authorisation Request. But then it switches totype
in the Credential Request. PR#240changes the Credential Request tocredential_type
, and the metadata to match this.