[Openid-specs-ab] OIDC for Verifiable Presenations
Torsten Lodderstedt
torsten at lodderstedt.net
Mon May 16 15:56:53 UTC 2022
Hi George,
> Am 16.05.2022 um 15:54 schrieb George Fletcher via Openid-specs-ab <openid-specs-ab at lists.openid.net>:
>
> Hi,
>
> What would I use in the current spec as a relying party to inform the wallet that I need an "age over 13“ claim
First of all you need to request that contains such a claim. We use Presentation Exchange as language for that, in this case the so-called presentation_definition.
It may restrict the desired result by defining a constraint, in this case over the credentialSchema. The following requests an „idcard" credential.
"presentation_definition":{
"constraints": {
"fields": [
{
"path": [
"$.credentialSchema.id"
],
"filter": {
"type": "string",
"pattern": "https://example.org/idcard"
}
}
]
}
}
Note: the concrete paths and patterns depend on the credential format (here JSON-LD/LD Proofs).
You may also explicitly request a certain claim by defining a further path, such as
{"path":["$.values.is_over_13"]},
This would require a „is_over_13“ booelan claim to be present in the credential.
Something more generic could perhaps be implemented using PE`s predicate feature. I assume the support of this feature depends on certain credential format & crypto suite capabilities. Here is a (made up) example:
{
"path":[
"$.dob"
],
"filter":{
"type":"number",
"min":1242489139
}
}
> and it can be form one of N issuers that the Verifier/RP trusts?
The recommended way is to use a claim in the credential conveying the trust framework/federation the issuer shall belong to. Here is an example:
{
"vp_token": {
"presentation_definition": {
"id": "32f54163-7166-48f1",
"input_descriptors": [
{
"id": "federationExample",
"purpose": "To pick a UK university that is a member of the UK academic federation",
"constraints": {
"fields": [,
{
"path": [
"$.termsOfUse.federations"
],
"filter": {
"type": "string",
"const": "ukuniversities.ac.uk"
}
}
]
}
}
]
}
}
}
The verifier will need to check that relationship using a registry.
There is text about this in the spec at https://openid.bitbucket.io/connect/openid-connect-4-verifiable-presentations-1_0.html#name-support-for-federations-tru
> I'm losing that context in all the JSON examples :)
I hope that helps.
best regards,
Torsten.
>
> Thanks,
> George
>
> --
>
> George Fletcher (he/him)
> Executive Distinguished Engineer • Identity Architect
> 8020 Towers Crescent Drive, Vienna, VA 22128
> 616-498-8240
>
> assistant: sharon.anderson at capitalone.com <mailto:sharon.anderson at capitalone.com>
>
>
> The information contained in this e-mail is confidential and/or proprietary to Capital One and/or its affiliates and may only be used solely in performance of work or services for Capital One. The information transmitted herewith is intended only for use by the individual or entity to which it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any review, retransmission, dissemination, distribution, copying or other use of, or taking of any action in reliance upon this information is strictly prohibited. If you have received this communication in error, please contact the sender and delete the material from your computer.
>
>
> _______________________________________________
> Openid-specs-ab mailing list
> Openid-specs-ab at lists.openid.net
> https://lists.openid.net/mailman/listinfo/openid-specs-ab
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-ab/attachments/20220516/4c8e91e0/attachment.html>
More information about the Openid-specs-ab
mailing list