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
Make auth_session optional if other binding mechanism exists.
The auth_session parameter is not needed in the all Interaction
Required Responses since some interaction types already include
a way to associate the next request with the ongoing auth sequence.
This makes the requirement for auth_session conditional on there
not being some other mechanism for binding the request to the auth
sequence.
It also adds a description of why the auth_session is not necessary
in the redirect_to_web case and the custom example.
By setting `status` to `require_interaction` in the response, the Authorization Server requests an additional user interaction.
811
-
In this case, the following keys MUST be present in the response as well:
811
+
In this case, the following key MUST be present in the response as well:
812
812
813
813
*`type`: REQUIRED. String indicating which type of interaction is required, as defined below. The Authorization Server MUST NOT set this to a value that was not included in the `interaction_types_supported` parameter sent by the Wallet.
814
+
815
+
The Authorization Server MUST provide a mechanism to associate the next request by this Wallet with the ongoing authorization request sequence.
816
+
If no other mechanism to associate the next request by this Wallet with the ongoing authorization request sequence is defined by the type of interaction, the following key MUST be present in the response as well:
817
+
814
818
*`auth_session`: REQUIRED. String containing a value that allows the Authorization Server to associate subsequent requests by this Wallet with the ongoing authorization request sequence. Wallets SHOULD treat this value as an opaque value. The value returned MUST be distinct for each interactive authorization response.
815
819
816
820
The Wallet MUST include the most recently received `auth_session` in follow-up requests to the Interactive Authorization Endpoint.
@@ -826,6 +830,8 @@ If `type` is set to `openid4vp_presentation`, as shown in the following example,
826
830
* The `response_mode` MUST be either `iae-post` for unencrypted responses or `iae-post.jwt` for encrypted responses. These modes are used to indicate to the Wallet to return the response back to the same Interactive Authorization Endpoint.
827
831
* If `expected_origins` is present, it MUST contain only the derived Origin of the Interactive Authorization Endpoint as defined in Section 4 in [@RFC6454]. For example, the derived Origin from `https://example.com/iae` is `https://example.com`.
828
832
833
+
The response MUST include the key `auth_session` to associate the next request by this Wallet with the ongoing authorization request sequence.
834
+
829
835
The following is a non-normative example of an unsigned Authorization Request:
830
836
831
837
```
@@ -939,6 +945,8 @@ In this case, the Authorization server MUST include the key `request_uri` in the
939
945
The Wallet MUST use the `request_uri` value to build an Authorization Request as defined in Section 4 of [@!RFC9126] and complete the rest of the authorization process as defined there.
940
946
The Authorization Server MAY include the `expires_in` key as defined in [@!RFC9126].
941
947
948
+
Since the `request_uri` allows the Authorization Server to associate the Authorization Request with the ongoing authorization request sequence, no `auth_session` is needed.
949
+
942
950
Non-normative Example:
943
951
944
952
```
@@ -975,6 +983,7 @@ It is RECOMMENDED to use this extension point instead of modifying the OAuth pro
975
983
See (#iae-security) for additional security considerations.
976
984
977
985
In the following non-normative example, this extension point is used to read the Betelgeuse Intergalactic ID card through an NFC interface in the Wallet. A token called `biic_token` is used to start the process.
986
+
It is assumed that the `biic_token` is used by the Authorization Server to associate the next request by this Wallet with the ongoing authorization request sequence, and no `auth_session` is thus needed.
0 commit comments