Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/support unencoded jwt authorization requests #40

Conversation

Joey-Silberman
Copy link
Contributor

This PR adds support for unencoded/unsigned jwt authorization requests to bypass KID and signature checks in request validation for when client_id_scheme is did. This is necessary for using VC playground verifier QRs because their request_jwt is unsigned and thus doesn't have a KID.

@Ryanmtate Ryanmtate changed the base branch from main to feat/add-req-obj-signing-alg-setter-wallet-metadata November 4, 2024 17:51
@Ryanmtate Ryanmtate force-pushed the feat/support-unencoded-jwt-authorization-requests branch from c589019 to 24607cc Compare November 4, 2024 18:08
@Ryanmtate
Copy link
Contributor

Changes in SSI have resolved this.

@Ryanmtate Ryanmtate closed this Nov 13, 2024
@Ryanmtate
Copy link
Contributor

This short circuit for avoiding the check whether the client id of the verifier (DID) in relation to the key ID in the header may still be helpful.

However, this may not be the correct way to handle whether or not a kid exists. This check makes the assumption that if the alg value is missing in the header, so will the kid. Is this valid? Do we need to handle this differently?

@Ryanmtate Ryanmtate reopened this Nov 14, 2024
@Ryanmtate Ryanmtate force-pushed the feat/support-unencoded-jwt-authorization-requests branch 2 times, most recently from 12ba6e9 to 349cb7d Compare November 18, 2024 17:31
@Ryanmtate Ryanmtate changed the base branch from feat/add-req-obj-signing-alg-setter-wallet-metadata to feat/vp-data-integrity-cryptosuite November 18, 2024 17:31
@Ryanmtate Ryanmtate force-pushed the feat/support-unencoded-jwt-authorization-requests branch from 349cb7d to f1ecd8b Compare November 19, 2024 22:53
@Joey-Silberman Joey-Silberman merged commit 55b36f9 into feat/vp-data-integrity-cryptosuite Nov 20, 2024
2 checks passed
@Joey-Silberman Joey-Silberman deleted the feat/support-unencoded-jwt-authorization-requests branch November 20, 2024 16:32
Ryanmtate added a commit that referenced this pull request Nov 21, 2024
* Add temporary support for unencoded JWT authorization requests

* Remove unnecessary comment

* use serde deserialize serialize derive for authorization response

Signed-off-by: Ryan Tate <[email protected]>

* update url encoding for auth response

Signed-off-by: Ryan Tate <[email protected]>

* fix unit tests

Signed-off-by: Ryan Tate <[email protected]>

* use custom struct for json string encoded authorization response inner values

Signed-off-by: Ryan Tate <[email protected]>

* allow unencoded authorization request

Signed-off-by: Ryan Tate <[email protected]>

---------

Signed-off-by: Ryan Tate <[email protected]>
Co-authored-by: Joey Silberman <[email protected]>
Co-authored-by: Ryan Tate <[email protected]>
Ryanmtate added a commit that referenced this pull request Dec 1, 2024
* add request object signing algorithm setter method

Signed-off-by: Ryan Tate <[email protected]>

* return application json encoded authorization response (#39)

* use serde deserialize serialize derive for authorization response

Signed-off-by: Ryan Tate <[email protected]>

* update url encoding for auth response

Signed-off-by: Ryan Tate <[email protected]>

* fix unit tests

Signed-off-by: Ryan Tate <[email protected]>

* use custom struct for json string encoded authorization response inner values

Signed-off-by: Ryan Tate <[email protected]>

---------

Signed-off-by: Ryan Tate <[email protected]>

* bump serde_json_path version

Signed-off-by: Ryan Tate <[email protected]>

* Add temporary support for unencoded JWT authorization requests

* Remove unnecessary comment

* Start implementation for VpTokenItem From method for specific JsonPresentation

Signed-off-by: Ryan Tate <[email protected]>
Co-Authored-By: Joey Silberman <[email protected]>

* use ssi 0.10.1 release

Signed-off-by: Ryan Tate <[email protected]>

* add data integrity conversion for vp token

Additionally adds a check for authorization request
vp formats supported to check cryptosuite against
expected response formats.

Signed-off-by: Ryan Tate <[email protected]>

* update data integrity vp token from conversion

Signed-off-by: Ryan Tate <[email protected]>

* Feat/support unencoded jwt authorization requests (#40)

* Add temporary support for unencoded JWT authorization requests

* Remove unnecessary comment

* use serde deserialize serialize derive for authorization response

Signed-off-by: Ryan Tate <[email protected]>

* update url encoding for auth response

Signed-off-by: Ryan Tate <[email protected]>

* fix unit tests

Signed-off-by: Ryan Tate <[email protected]>

* use custom struct for json string encoded authorization response inner values

Signed-off-by: Ryan Tate <[email protected]>

* allow unencoded authorization request

Signed-off-by: Ryan Tate <[email protected]>

---------

Signed-off-by: Ryan Tate <[email protected]>
Co-authored-by: Joey Silberman <[email protected]>
Co-authored-by: Ryan Tate <[email protected]>

* Update src/core/metadata/parameters/verifier.rs

Co-authored-by: Jacob <[email protected]>
Signed-off-by: Ryan Tate <[email protected]>

---------

Signed-off-by: Ryan Tate <[email protected]>
Co-authored-by: Joey Silberman <[email protected]>
Co-authored-by: Joey Silberman <[email protected]>
Co-authored-by: Jacob <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants