You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: openid-4-verifiable-presentations-1_0.md
+20-21
Original file line number
Diff line number
Diff line change
@@ -261,14 +261,15 @@ One exception to this rule is `transaction_data` parameter, and the wallets that
261
261
This specification defines the following new request parameters:
262
262
263
263
`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.
265
265
266
266
`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.
269
268
270
269
`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.
272
273
273
274
`client_metadata`:
274
275
: 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
695
696
elements in `credentials`.
696
697
697
698
`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`.
701
701
702
702
`purpose`
703
703
: 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.
781
781
782
782
The following rules apply for selecting Credentials via `credentials` and `credential_sets`:
783
783
784
-
- If `credential_sets` is not provided, the Verifier requests all
784
+
- If `credential_sets` is not provided, the Verifier requests presentations for all
785
785
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.
789
789
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
793
792
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.
795
794
796
795
Credentials not matching the respective constraints expressed within
797
796
`credentials` MUST NOT be returned, i.e., they are treated as if
798
797
they would not exist in the Wallet.
799
798
800
799
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).
802
801
803
802
#### User Interface Considerations {#vp_query_ui}
804
803
805
804
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
808
807
to present.
809
808
810
809
#### Security Considerations {#vp_query_security}
811
810
812
811
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
814
813
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
@@ -934,7 +933,7 @@ Additional, more complex examples can be found in (#vp_query_examples).
934
933
935
934
# Response {#response}
936
935
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).
938
937
939
938
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.
0 commit comments