Skip to content
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

OIDC4VP : Verifier requests user to choose VCs among several types of VCs #1817

Closed
ThierryThevenet opened this issue Aug 17, 2023 · 5 comments
Assignees
Labels

Comments

@ThierryThevenet
Copy link
Member

ThierryThevenet commented Aug 17, 2023

Example , the verifier request from the user an EmailPass OR a PhoneProof.
This behavior is different from the standard behavior which is that all input_descriptors MUST be fulfilled separatly.

In all those cases which are not standard, there is json object name "submission_requirements" which is added to the presentation_definition

the presentation definition of the request will look like that :

{
"id": "9920a04d-3d24-11ee-ae7e-0a1628958560",
"input_descriptors": [
{
"id": "emailpass_5",
"group": [
"A"
],

"name": "Input descriptor for credential 5",
"constraints": {
"fields": [
{
"path": [
"$.credentialSubject.type"
],
"filter": {
"type": "string",
"pattern": "EmailPass"
}
}
]
}
},
{
"id": "phoneproof_6",
"group": [
"A"
],

"name": "Input descriptor for credential 6",
"constraints": {
"fields": [
{
"path": [
"$.credentialSubject.type"
],
"filter": {
"type": "string",
"pattern": "PhoneProof"
}
}
]
}
}
],
"name": "Test #5 DEFAULT",
"purpose": "Altme presentation definition subset of PEX v2.0",
"submission_requirements": [
{
"name": "Group A",
"rule": "pick",
"count": 1,
"from": "A"
}

],
"format": ............................
}
}

The main difference is the
"submission_requirements": [
{
"name": "Group A",
"rule": "pick",
"count": 1,
"from": "A"
}
],

Which means that the verifier wants the user to pick 1 VC in Group A

and Groupe A is added to the description of each VC with 
  "group": [
            "A"
        ],
        
       In that case the wallet present the EmailPass and PhoneProof on teh same screen and user choose one OR the other one.
@ThierryThevenet ThierryThevenet changed the title OIDC4VP : Verifier requests from user 1 VC among several types of VCs (OR) OIDC4VP : Verifier requests user to choose 1 VC among several types of VCs Aug 17, 2023
@ThierryThevenet
Copy link
Member Author

Test #5

@ThierryThevenet
Copy link
Member Author

So if the wallet must check if there is a "submission_requirement" attribute in the presentation definition.
If yes there are added rules between input_descriptor if not : it is the current behavior -> all input_descriptors must be satisfied separatly

@ThierryThevenet
Copy link
Member Author

when the submission_requirement is present in a presentation_definition , all input_descriptors must be grouped.
if not the wallet can ignore it.

@ThierryThevenet ThierryThevenet changed the title OIDC4VP : Verifier requests user to choose 1 VC among several types of VCs OIDC4VP : Verifier requests user to choose VCs among several types of VCs Aug 23, 2023
@ThierryThevenet
Copy link
Member Author

Other submission possible

"submission_requirements": [
{
"name": "test with group A",
"rule": "pick",
"min": 2,
"from": "A"
}
]
Means that user must choose a minimum of 2 VCs in group A

@ThierryThevenet
Copy link
Member Author

Other submission possible

"submission_requirements": [
{
"name": "test with group A",
"rule": "pick",
"min": 2,
"from": "A"
},
{
"name": "test with group B",
"rule": "pick",
"count": 1,
"from": "B"
}
]

Means that user must choose a minimum of 2 VCs in group A AND user must chose 1 VC from group B

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants