-
Notifications
You must be signed in to change notification settings - Fork 3
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: initial VP support #21
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
a4a2436
to
211a9a8
Compare
df16767
to
a1031d2
Compare
6 tasks
a1031d2
to
c2d01e0
Compare
0164c65
to
7e0efb0
Compare
5318f16
to
15a1a0d
Compare
8a272f3
to
7068d9f
Compare
Add tests for RequestUrl Add missing request parameters Add sphereon demo website test Update documentation with new RequestUrl Remove sphereon demo example Add validate_request method to Provider struct Add preoper Ser and De for SiopRequest and RequestBuilder Add skeptic for Markdown code testing Add support for Request by reference fix: fix rebase conflicts Add comments and fix some tests fix: Move `derivative` to dev-dependencies Refactor Provider and Subject improve tests and example using wiremock Improve struct field serde fix: remove claims from lib.rs style: fix arguments order Add did:key DID method Add support for Request by reference fix: Remove lifetime annotations Add preoper Ser and De for SiopRequest and RequestBuilder Add Scope and Claim fix: fix rebase conflicts
7068d9f
to
a2205ef
Compare
641d48c
to
385d8f5
Compare
daniel-mader
previously approved these changes
Jun 30, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing! 🤩
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of change
This PR adds support for the DIF Presentation Exchange (https://identity.foundation/presentation-exchange/spec/v2.0.0/):
PresentationDefinition
: https://identity.foundation/presentation-exchange/spec/v2.0.0/#presentation-definitionPresentationSubmission
: https://identity.foundation/presentation-exchange/spec/v2.0.0/#presentation-submissionInput Evaluation (
evaluate_input
): https://identity.foundation/presentation-exchange/spec/v2.0.0/#input-evaluationA bunch of example credentials/responses/requests that are currently used to test (de)serialization. These json files are located in
oid4vp/tests/examples
. They are copied from here: https://bitbucket.org/openid/connect/src/master/openid-4-verifiable-presentations/examples/A simple
VerifiableCredentialJwt
struct with thejwt_vs_json
format.create_presentation_submission
that creates aPresentationSubmission
from aPresentationDefinition
and a credential (if possible)A first version of an integration test for the implicit flow using siopv2+oid4vp
Added the
VpToken
(+ builder)Validation of the VP + nested VC by the
RelyingParty
The
oid4vp
crates is still quite empty for two reasons: The core logic of the oid4vp logic is actually defined in the DIF Presentation Exchange spec. Also, Most of the shared functionality of siopv2 and oid4vp is currently located inside the siopv2 crate. oid4vp relying on siopv2 would cause a cycle dependency, so that's why a bunch of oid4vp related logic is currently located in siopv2 (see #42).Links to any relevant issues
#42
closes #9
How the change has been tested
Multiple unit tests and one integration test for the implicit flow for siopv2+oid4vp
Definition of Done checklist
Add an
x
to the boxes that are relevant to your changes.