Skip to content

Commit 9c032a9

Browse files
committed
Reword how credentials are to be returned, fix definition of request parameters
1 parent 1511de4 commit 9c032a9

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

openid-4-verifiable-presentations-1_0.md

+20-21
Original file line numberDiff line numberDiff line change
@@ -261,14 +261,15 @@ One exception to this rule is `transaction_data` parameter, and the wallets that
261261
This specification defines the following new request parameters:
262262

263263
`presentation_definition`:
264-
: A string containing a Presentation Definition JSON object. See (#request_presentation_definition) for more details. Exactly one of the following parameters MUST be present in the Authorization Request:`vp_query`, `presentation_definition`, `presentation_definition_uri`, or a `scope` value representing a Presentation Definition.
264+
: A string containing a Presentation Definition JSON object. See (#request_presentation_definition) for more details.
265265

266266
`presentation_definition_uri`:
267-
: A string containing an HTTPS URL pointing to a resource where a Presentation Definition JSON object can be retrieved. See (#request_presentation_definition_uri) for more details. Exactly one of `vp_query` or `presentation_definition` or `presentation_definition_uri` MUST be present in the Authorizat
268-
ion Request.
267+
: A string containing an HTTPS URL pointing to a resource where a Presentation Definition JSON object can be retrieved. See (#request_presentation_definition_uri) for more details.
269268

270269
`vp_query`:
271-
: A string containing a JSON-encoded VP Query as defined in (#vp_query). This parameter is OPTIONAL. Exactly one of `vp_query` or `presentation_definition` or `presentation_definition_uri` MUST be present in the Authorization Request.
270+
: A string containing a JSON-encoded VP Query as defined in (#vp_query).
271+
272+
Exactly one of the following parameters MUST be present in the Authorization Request: `vp_query`, `presentation_definition`, `presentation_definition_uri`, or a `scope` value representing a Presentation Definition.
272273

273274
`client_metadata`:
274275
: OPTIONAL. A JSON object containing the Verifier metadata values. It MUST be UTF-8 encoded. The following metadata parameters MAY be used:
@@ -695,9 +696,8 @@ the use case. The value of each element in the `options` array is an array of id
695696
elements in `credentials`.
696697

697698
`required`
698-
: OPTIONAL. A boolean flag which indicates whether this set of Credentials is required
699-
to satisfy the particular use case at the Verifier.
700-
If omitted, the effective value MUST be processed as `true`.
699+
: OPTIONAL. A boolean which indicates whether this set of Credentials is required
700+
to satisfy the particular use case at the Verifier. If omitted, the default value is `true`.
701701

702702
`purpose`
703703
: OPTIONAL. A string, number or object specifying the purpose of the
@@ -781,38 +781,37 @@ according to these rules, it MUST NOT return the respective Credential.
781781

782782
The following rules apply for selecting Credentials via `credentials` and `credential_sets`:
783783

784-
- If `credential_sets` is not provided, the Verifier requests all
784+
- If `credential_sets` is not provided, the Verifier requests presentations for all
785785
Credentials in `credentials` to be returned.
786-
- Otherwise, the Verifier requests all of the Credential Set Queries in the `credential_sets` array
787-
with `required` evaluated as true to be returned at a minimum and optionally any of the credential set queries
788-
with `required` evaluated as false.
786+
- Otherwise, the Verifier requests presentations of Credentials to be returned satisfying
787+
- all of the Credential Set Queries in the `credential_sets` array where the `required` attribute is true or omitted, and
788+
- optionally, any of the other Credential Set Queries.
789789

790-
For each credential set query inside the `credential_sets` array, in order to
791-
satisfy the query, the Wallet MUST return a credential or credentials that
792-
match to one of the `options` inside the object. It is typically
790+
To satisfy a Credential Set Query, the Wallet MUST return a presentation of a Credential or of Credentials that
791+
match to one of the `options` inside the Credential Set Query. It is typically
793792
expected that the Wallet presents the End-User with a choice of which
794-
credential to present if multiple credentials match the query.
793+
Credential to present if multiple Credentials match the query.
795794

796795
Credentials not matching the respective constraints expressed within
797796
`credentials` MUST NOT be returned, i.e., they are treated as if
798797
they would not exist in the Wallet.
799798

800799
If the Wallet cannot deliver all non-optional Credentials requested by the
801-
Verifier according to these rules, it MUST NOT return any credential(s).
800+
Verifier according to these rules, it MUST NOT return any Credential(s).
802801

803802
#### User Interface Considerations {#vp_query_ui}
804803

805804
While this specification provides the mechanisms for requesting different sets
806-
of claims and credentials, it does not make assumptions about the user interface
807-
of the Wallet, for example, if users can select which combination of credentials
805+
of claims and Credentials, it does not make assumptions about the user interface
806+
of the Wallet, for example, if users can select which combination of Credentials
808807
to present.
809808

810809
#### Security Considerations {#vp_query_security}
811810

812811
While the Verifier can specify various constraints both on the claims level and
813-
the credential level as shown above, it MUST NOT rely on the Wallet to enforce
812+
the Credential level as shown above, it MUST NOT rely on the Wallet to enforce
814813
these constraints. The Wallet is not controlled by the Verifier and the Verifier
815-
MUST perform its own security checks on the returned credentials and
814+
MUST perform its own security checks on the returned Credentials and
816815
presentations.
817816

818817
## Format-specific Properties {#format_specific_properties}
@@ -934,7 +933,7 @@ Additional, more complex examples can be found in (#vp_query_examples).
934933

935934
# Response {#response}
936935

937-
A VP Token is only returned if the corresponding Authorization Request contained a `presentation_definition` parameter, a `presentation_definition_uri` parameter, or a `scope` parameter representing a Presentation Definition (#vp_token_request).
936+
A VP Token is only returned if the corresponding Authorization Request contained a `vp_query` parameter, a `presentation_definition` parameter, a `presentation_definition_uri` parameter, or a `scope` parameter representing a Presentation Definition (#vp_token_request).
938937

939938
A VP Token can be returned in the Authorization Response or the Token Response depending on the Response Type used. See (#response_type_vp_token) for more details.
940939

0 commit comments

Comments
 (0)