-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wallet can't always identity whether key proof is required #175
Comments
Credential is always identified by the combination of format and type (type claims are mandatory in the credential format profiles).
if issuer metadata is used, wallet can look up |
I checked with Taka and although it might be the intention that format & type uniquely identify a credential_configuration_id, we don't seem to actually say that as far as I can see. So e.g. here is an updated example that has vct but still have the ambiguity: credential_configurations_supported
credential offer
credential request
The fix would be I guess to say something like a |
I have the fear that in the long run, saying format+type is enough could hurt us, because this puts significant requirements on the possibly supported credential formats and maybe in the future this constraint doesn't make sense anymore. I consider this a flaw of the protocol and it keeps popping up from time to time. The ideal solution in my mind is to either:
The first one is superior and makes sense in the proposed post-id1 changes but two is still a good improvement |
@jogu, it feels like multiple problems are being confused. a problem that one of the credential_configurations_supported object lacks |
for the first problem, as I said previously, for the second problem, would like to continue a discussion in #132. but to reiterate here:
|
To be clear, the intention of this issue was to discuss the second problem. (It seemed clear to me that a credential_configurations_supported without proofs_supported means that a proof is not required for that credential. It that's not actually clear I'm happy for it to be fixed.) I think you're right that it overlaps with #132, can we expand #132 to include the case where RAR is used and a credential_configuration_id is not returned? |
Our implementation experience found that this was essential, especially when a user/wallet can have two credentials of the same type but with slightly different contents e.g. Chemistry Degree and Maths Degree from the same university. |
This is occasionally stated, but I always wonder how an authorization server implementation that is too inflexible to add a new parameter in a token response can support the OID4VCI specification. The assumption doesn't sound very convincing. If the discussion on whether to add a new parameter to the token response is hindered to protect the implementation of a specific company, it is a significant concern for the community. (cf. #276 (comment) ) |
For existing AS, couldn't you make a wrapper AS that supports these additional features and adds the credential instance identifier to the token response? |
In theory, to some extent, in some situations. I don't think it would work and/or be possible in some situations and it potentially gets confusing. I think it would need to be more than a simple wrapper and much closer to a full fledged AS that is federating out to the underlying AS, unless they two ASes because intrinsically coupled in their backends. The VCI spec has so far catered, albeit with reduced functionality, for existing Authorization Servers without them needing to change (other than adding new scope values and other fairly standard things). Departing from that goal would be a significant change and may harm adoption of VCI. |
@TakahikoKawasaki there is more than one company that has ASs that have limitations that do not allow them to make changes easily or to have intermediary ASs/wrappers, etc. and as a community we should value every single company's implementation. |
@paulbastian @c2bo is this addressed in #389 PR? |
I don't think key attestation helps us here - #392 seems more relevant but doesn't seem to fully cover this? |
I believe that this is covered by the resolution on #392 of today's DCP Hybrid Call 👍 |
#87 added a mechanism within
credentials_configurations_supported
for the wallet to know if the issuer requires proof of possession for a particular credential configuration, and if so what types are supported.There are some cases where the wallet can't lookup this value though / it isn't clear to the credential issuer which credential the wallet is asking for.
An oversimplified example that shows the problem, e.g. in the pre-authorised code flow where the wallet has been offered more than one credential:
credential_configurations_supported
credential offer
credential request
This could be solved by having the wallet supply
credential_configuration_id
in the credential request. (Hence makingformat
unnecessary.) i.e.:credential request
(Spotted by Taka@Authlete)
The text was updated successfully, but these errors were encountered: