Skip to content

Commit

Permalink
Request uri method (#236)
Browse files Browse the repository at this point in the history
* fix!: alignments according to breaking changes introduced by openid4vci I-D

* fix: request_uri_method typo
  • Loading branch information
Giuseppe De Marco authored Mar 20, 2024
1 parent df94850 commit c97726b
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
1 change: 1 addition & 0 deletions docs/en/contribute.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ implementation profile and to the initial set of implementations.
- Michele Silletti
- Nicola Saitto
- Niels van Dijk
- Oliver Terbu
- Paul Bastien
- Pasquale De Rose
- Peter Altmann
Expand Down
4 changes: 2 additions & 2 deletions docs/en/remote-flow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ Once the Wallet Instance establishes the trust with the Relying Party and evalua
A High-Level description of the remote flow, from the User's perspective, is given below:

1. the Wallet Instance obtains an URL in the Same Device flow or a QR Code containing the URL in Cross Device flow;
2. the Wallet Instance extracts from the payload the following parameters: ``client_id``, ``request_uri``, ``state``, ``request_uri_methods`` and ``client_id_scheme``;
2. the Wallet Instance extracts from the payload the following parameters: ``client_id``, ``request_uri``, ``state``, ``request_uri_method`` and ``client_id_scheme``;
3. If the ``client_id_scheme`` is provided and set with the value ``entity_id``, the Wallet Instance MUST collect and validate the OpenID Federation Trust Chain related to the Relying Party. If the ``client_id_scheme`` is either not provided or is assigned a value different from ``entity_id``, the Wallet Instance MUST establish the trust by utilizing the ``client_id`` or an alternative ``client_id_scheme`` value. This alternative value MUST enable the Wallet Instance to establish trust with the Relying Party, ensuring compliance with the assurance levels mandated by the trust framework;
4. If ``request_uri_methods`` is provided and set with the value ``post``, the Wallet Instance SHOULD transmit its metadata to the Relying Party's ``request_uri`` endpoint using the HTTP POST method and obtain the signed Request Object. If ``request_uri_methods`` is set with the value ``get`` or not present, the Wallet Instance MUST fetch the signed Request Object using an HTTP request with method GET to the endpoint provided in the ``request_uri`` parameter;
4. If ``request_uri_method`` is provided and set with the value ``post``, the Wallet Instance SHOULD transmit its metadata to the Relying Party's ``request_uri`` endpoint using the HTTP POST method and obtain the signed Request Object. If ``request_uri_method`` is set with the value ``get`` or not present, the Wallet Instance MUST fetch the signed Request Object using an HTTP request with method GET to the endpoint provided in the ``request_uri`` parameter;
5. the Wallet Instance verifies the signature of the signed Request Object, using the public key obtained with the trust chain, and that its issuer matches the ``client_id`` obtained at the step number 2;
6. the Wallet Instance evaluates the requested Digital Credentials and checks the elegibility of the Relying Party in asking these by applying the policies related to that specific Relying Party, obtained with the trust chain;
7. the Wallet Instance asks User disclosure and consent;
Expand Down

0 comments on commit c97726b

Please sign in to comment.