-
Notifications
You must be signed in to change notification settings - Fork 25
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
Optional attributes when presenting a credential with DCQL #440
Comments
There was a lengthy discussion about that and the decision was made to not support optionality on the claim level (for user choice). See #266 (comment) and some of the other comments in that PR. |
Also, please note that optional claims can still be expressed - but you need to define multiple |
Ok thanks @c2bo. @danielfett ok, so an example could be: {
"credentials": [
{
"id": "pid",
"format": "dc+sd-jwt",
"meta": {
"vct_values": ["https://credentials.example.com/identity_credential"]
},
"claims": [
{"path": ["given_name"]},
{"path": ["family_name"]}
]
},
{
"id": "pid_with_address",
"format": "dc+sd-jwt",
"meta": {
"vct_values": ["https://credentials.example.com/identity_credential"]
},
"claims": [
{"path": ["given_name"]},
{"path": ["family_name"]},
{"path": ["address", "street_address"]}
]
}
],
"credential_sets": [
{
"purpose": "Identification",
"options": [
[ "pid" ]
]
},
{
"purpose": "Identification with address",
"required": false,
"options": [
[ "pid_with_address" ]
]
}
]
} even if in this way the wallet instance should show the user the request for two credentials but which in reality are the same |
One of the advantages that were discussed to not have optionality at claim level but only at higher level was to have a clear binding to purpose. Otherwise the request is somewhat ambiguous. |
Moved from openid/OpenID4VCI#465
Reading the paragraph on DCQL it seems that a RP can request a series of credentials, some optional and some mandatory, indicating which attributes are necessary for the presentation, but it seems that it is NOT POSSIBLE to indicate from a single credential which attributes are mandatory and which are optional. Does it make sense to you that a RP cannot indicate optional attributes but only optional credentials?
For example, assume that an RP requires the user to present an identity credential (
identity_credential
) with the following mandatory attributes:last_name
andfirst_name
. This can be done using the following non-normative example:But if the RP in addition to
first_name
andlast_name
also wants to ask for an optional attribute such asstreet_address
to offer an extra service to the user, this is not possible via DCQL.An example could be:
but this makes the
street_address
attribute mandatory and therefore, if not presented by the user, access to the service will not be given.In fact, only the following attributes are defined for claims:
You might consider introducing an
optional
attribute that can have a boolean value to solve the problem. What do you think? Is my interpretation correct?The text was updated successfully, but these errors were encountered: