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
{{ message }}
Repository navigation
Commit be70794
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: 1.0/openid-4-verifiable-presentations-1_0.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -284,8 +284,8 @@ The Verifier communicates a Client Identifier Prefix that indicates how the Wall
284
284
Depending on the Client Identifier Prefix, the Verifier can communicate a JSON object with its metadata using the `client_metadata` parameter which contains name/value pairs.
285
285
286
286
Additional request parameters, other than those defined in this section, MAY be defined and used, as described in [@!RFC6749].
287
-
The Wallet MUST ignore any unrecognized parameters, other than the `transaction_data` parameter.
288
-
One exception to this rule is the `transaction_data` parameter. Wallets that do not support this parameter MUST reject requests that contain it.
287
+
The Wallet MUST ignore any unrecognized parameters.
288
+
One exception to this rule is the `transaction_data` parameter: a Wallet that does not support this parameter MUST reject requests that contain it, as defined in (#transaction_data).
289
289
290
290
## New Parameters {#new_parameters}
291
291
This specification defines the following new request parameters:
@@ -682,6 +682,8 @@ The Wallet MUST process the request as defined in [@RFC9101]. The Wallet SHOULD
682
682
683
683
The Wallet MUST extract the set of Authorization Request parameters from the Request Object. The Wallet MUST only use the parameters in this Request Object, even if the same parameter was provided in an Authorization Request query parameter. The Client Identifier value in the `client_id` Authorization Request parameter and the Request Object `client_id` claim value MUST be identical, including the Client Identifier Prefix. If any of these conditions are not met, the Wallet MUST terminate request processing.
684
684
685
+
When this specification requires the Wallet to terminate request processing (or terminate the process), the Wallet stops processing the request and MUST NOT return an Authorization Response or Authorization Error Response to the Verifier. In these situations, the Wallet was unable to obtain an authentic Authorization Request, so there is no trusted endpoint to which an Authorization Error Response could be sent.
686
+
685
687
The Wallet then validates the request as specified in OAuth 2.0 [@RFC6749].
686
688
687
689
### Request URI Error Response
@@ -1491,7 +1493,7 @@ The transaction data mechanism enables a binding between the user's identificati
1491
1493
1492
1494
The Wallet that received the `transaction_data` parameter in the request MUST include a representation or reference to the data in the respective Credential presentation. How this is done is transaction data type specific. Credential Formats can give recommendations of how to handle transaction data, such as those in (#format_specific_parameters).
1493
1495
1494
-
If the Wallet does not support `transaction_data` parameter, it MUST return an error upon receiving a request that includes it.
1496
+
If the Wallet does not support the `transaction_data` parameter, it MUST reject a request that includes it: the Wallet MUST NOT return a VP Token for such a request, and any response returned SHOULD be an error response using the error code `invalid_transaction_data` (see (#error-response)). As described in (#error-responses), the Wallet MAY instead cancel the flow without returning a response to the Verifier.
1495
1497
1496
1498
## Error Response {#error-response}
1497
1499
@@ -1527,6 +1529,7 @@ This document also defines the following additional error codes and error descri
1527
1529
1528
1530
`invalid_transaction_data`:
1529
1531
1532
+
- the Wallet does not support the `transaction_data` parameter, or
1530
1533
- any of the following is true for at least one object in the `transaction_data` structure:
1531
1534
- contains an unknown or unsupported transaction data type value,
1532
1535
- is an object of a known type but containing unknown fields,
@@ -3671,6 +3674,8 @@ The technology described in this specification was made available from contribut
3671
3674
3672
3675
-31
3673
3676
3677
+
* Clarify that a Wallet terminating request processing does not return a response to the Verifier
3678
+
* Clarify that a Wallet rejecting a request containing an unsupported `transaction_data` parameter uses the `invalid_transaction_data` error code if it returns an error response
3674
3679
* Clarify that a W3C Verifiable Credential requested without Cryptographic Holder Binding is returned directly in the VP Token, without a Verifiable Presentation
3675
3680
* add security considerations on untrusted input
3676
3681
* Clarify that the Wallet does not follow HTTP redirects
Copy file name to clipboardExpand all lines: 1.1/openid-4-verifiable-presentations-1_1.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -280,8 +280,8 @@ The Verifier communicates a Client Identifier Prefix that indicates how the Wall
280
280
Depending on the Client Identifier Prefix, the Verifier can communicate a JSON object with its metadata using the `client_metadata` parameter which contains name/value pairs.
281
281
282
282
Additional request parameters, other than those defined in this section, MAY be defined and used, as described in [@!RFC6749].
283
-
The Wallet MUST ignore any unrecognized parameters, other than the `transaction_data` parameter.
284
-
One exception to this rule is the `transaction_data` parameter. Wallets that do not support this parameter MUST reject requests that contain it.
283
+
The Wallet MUST ignore any unrecognized parameters.
284
+
One exception to this rule is the `transaction_data` parameter: a Wallet that does not support this parameter MUST reject requests that contain it, as defined in (#transaction_data).
285
285
286
286
## New Parameters {#new_parameters}
287
287
This specification defines the following new request parameters:
@@ -678,6 +678,8 @@ The Wallet MUST process the request as defined in [@RFC9101]. The Wallet SHOULD
678
678
679
679
The Wallet MUST extract the set of Authorization Request parameters from the Request Object. The Wallet MUST only use the parameters in this Request Object, even if the same parameter was provided in an Authorization Request query parameter. The Client Identifier value in the `client_id` Authorization Request parameter and the Request Object `client_id` claim value MUST be identical, including the Client Identifier Prefix. If any of these conditions are not met, the Wallet MUST terminate request processing.
680
680
681
+
When this specification requires the Wallet to terminate request processing (or terminate the process), the Wallet stops processing the request and MUST NOT return an Authorization Response or Authorization Error Response to the Verifier. In these situations, the Wallet was unable to obtain an authentic Authorization Request, so there is no trusted endpoint to which an Authorization Error Response could be sent.
682
+
681
683
The Wallet then validates the request as specified in OAuth 2.0 [@RFC6749].
682
684
683
685
### Request URI Error Response
@@ -1551,7 +1553,7 @@ The transaction data mechanism enables a binding between the user's identificati
1551
1553
1552
1554
The Wallet that received the `transaction_data` parameter in the request MUST include a representation or reference to the data in the respective Credential presentation. How this is done is transaction data type specific. Credential Formats can give recommendations of how to handle transaction data, such as those in (#format_specific_parameters).
1553
1555
1554
-
If the Wallet does not support `transaction_data` parameter, it MUST return an error upon receiving a request that includes it.
1556
+
If the Wallet does not support the `transaction_data` parameter, it MUST reject a request that includes it: the Wallet MUST NOT return a VP Token for such a request, and any response returned SHOULD be an error response using the error code `invalid_transaction_data` (see (#error-response)). As described in (#error-responses), the Wallet MAY instead cancel the flow without returning a response to the Verifier.
1555
1557
1556
1558
## Error Response {#error-response}
1557
1559
@@ -1587,6 +1589,7 @@ This document also defines the following additional error codes and error descri
1587
1589
1588
1590
`invalid_transaction_data`:
1589
1591
1592
+
- the Wallet does not support the `transaction_data` parameter, or
1590
1593
- any of the following is true for at least one object in the `transaction_data` structure:
1591
1594
- contains an unknown or unsupported transaction data type value,
1592
1595
- is an object of a known type but containing unknown fields,
@@ -3746,6 +3749,8 @@ The technology described in this specification was made available from contribut
3746
3749
3747
3750
-01
3748
3751
3752
+
* Clarify that a Wallet terminating request processing does not return a response to the Verifier
3753
+
* Clarify that a Wallet rejecting a request containing an unsupported `transaction_data` parameter uses the `invalid_transaction_data` error code if it returns an error response
3749
3754
* Clarify that a W3C Verifiable Credential requested without Cryptographic Holder Binding is returned directly in the VP Token, without a Verifiable Presentation
3750
3755
* Clarify that the Wallet does not follow HTTP redirects
0 commit comments