openid / OpenID4VCI

68 stars 20 forks source link

Credential Issuer Metadata - nested objects & display properties #315

Closed sschulz-t closed 5 months ago

sschulz-t commented 6 months ago

I was wondering how to interpret the definition of Credential Issuer Metadata:

Specifically the sentence

...the most deeply nested value MAY be an object that includes the following parameters defined by this specification:

Does this suggest that we only support display properties at the leaf nodes?

Or is it possible to have display properties at all levels?

E.g. is this a valid definition?

{
   ...
    "claims": {
        "address" : {
            "display" : [
                { "name": "Adresse",  "locale": "de" },
                { "name": "Address", "locale": "en" }
            ],
            "street" : {
                "display" : [
                    { "name": "Strasse", "locale": "de"},
                    { "name": "Street", "locale": "en" }
                ]
            }
        }
    }
}

If this is valid, how would i handle credentials that have a "display" property on their own? e.g.

...
  "property1" : {
     ...
     "display": false,
  }
paulbastian commented 6 months ago

The problem is being tackled in https://github.com/openid/OpenID4VCI/pull/276 already

Sakurann commented 6 months ago

to Paul's point, right now, only display properties at the leaf nodes are supported, so the example you are providing is not defined by the specification right now. The issue was raised in #276, we were discussion solutions, but in the end decided not to introduce this breaking change before VCI ID-1. Please continue this discussion in #276, but would like your feedback how big of a problem it is for you as an implementer the inability to express display properties at all levels for nested claims?

sschulz-t commented 5 months ago

Thanks, i see. You switched to use path values. I will post a reply to mickrau on Feb 21 and continue there.