Enhance ClaimPath and ClaimPathJsonConverter functionality#511
Merged
Dindexx merged 1 commit intoopenwallet-foundation-labs:developfrom Feb 19, 2026
Merged
Conversation
- Added JsonConverter attribute to ClaimPath for improved JSON serialization. - Refactored FromJArray method in ClaimPath to use expression-bodied syntax. - Updated ClaimPathComponent to handle JTokenType.Undefined in addition to JTokenType.Null. - Modified ClaimPathJsonConverter to handle JToken types more robustly. - Added unit tests for handling null components in ClaimPath serialization and deserialization. Signed-off-by: Kevin <kevin.dinh@lissi.id>
Dindexx
added a commit
that referenced
this pull request
Apr 18, 2026
- Added JsonConverter attribute to ClaimPath for improved JSON serialization. - Refactored FromJArray method in ClaimPath to use expression-bodied syntax. - Updated ClaimPathComponent to handle JTokenType.Undefined in addition to JTokenType.Null. - Modified ClaimPathJsonConverter to handle JToken types more robustly. - Added unit tests for handling null components in ClaimPath serialization and deserialization. Signed-off-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Kevin Dinh <92726228+Dindexx@users.noreply.github.com>
Dindexx
added a commit
that referenced
this pull request
Apr 18, 2026
* [WIP] v3.0.0 (#425) * Migrate storage layer to EF Core Signed-off-by: Kevin <kevin.dinh@lissi.id> * deprecate aries and indy (#427) Signed-off-by: Kevin <kevin.dinh@lissi.id> * Align IssuerMetadata with VCI 1.0 spec (#438) * support credential_metadata in issuer metadata and drop AttributeOrder support Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * clean attribute order Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * Merge branch 'v3.0.0' of github.com:openwallet-foundation-labs/wallet-framework-dotnet into algin-isser-metadata-with-oid4vci1.0 Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * Add CredentialsSet id as index to SdJwt and MDoc records Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * Fix the issuance for the PID (associate SdJwt AND MDocs with PID) Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * implement requested changes Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * minimal cleanup Signed-off-by: Kevin <kevin.dinh@lissi.id> * Revert Vctmetadata ClaimDisplay removal Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> --------- Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> Signed-off-by: Kevin <kevin.dinh@lissi.id> Co-authored-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Kevin <kevin.dinh@lissi.id> * adjust readme for deprecating indy (#439) Signed-off-by: Kevin <kevin.dinh@lissi.id> * adjustment for indy migration (#450) Signed-off-by: Kevin <kevin.dinh@lissi.id> * Fix supported algs for the issuer signed jwt in wallet metadata (#449) Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> Signed-off-by: Kevin <kevin.dinh@lissi.id> * fix tests Signed-off-by: Kevin <kevin.dinh@lissi.id> * make dependencies packable again Signed-off-by: Kevin <kevin.dinh@lissi.id> * DC-API: Validate origin Signed-off-by: Kevin <kevin.dinh@lissi.id> * Introduce SDLC (#466) * initial sdcl introduction Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * add TODO Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * sign git tag Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * update sdlc guide Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> --------- Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> Signed-off-by: Kevin <kevin.dinh@lissi.id> * Dc api validate origin (#473) * DC-API: Validate origin Signed-off-by: Kevin <kevin.dinh@lissi.id> * DC-API: refactor Signed-off-by: Kevin <kevin.dinh@lissi.id> --------- Signed-off-by: Kevin <kevin.dinh@lissi.id> --------- Signed-off-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> Co-authored-by: Johannes Tuerk <72355192+JoTiTu@users.noreply.github.com> Signed-off-by: Kevin Dinh <92726228+Dindexx@users.noreply.github.com> * Fix pipeline for develop branch (#474) * fix dev build number & distribute dev builds via nuget Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * CI/CD: adjust naming and add storage tests to pipeline Signed-off-by: Kevin <kevin.dinh@lissi.id> --------- Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> Signed-off-by: Kevin <kevin.dinh@lissi.id> Co-authored-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Johannes Tuerk <72355192+JoTiTu@users.noreply.github.com> * add nuget publishing to pipeline (#480) Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> Signed-off-by: Johannes Tuerk <72355192+JoTiTu@users.noreply.github.com> * Update projects to .NET 10 (#481) * update to .NET 10 Signed-off-by: Kevin <kevin.dinh@lissi.id> * update to .NET 10 appendix Signed-off-by: Kevin <kevin.dinh@lissi.id> * update to .NET 10 appendix Signed-off-by: Kevin <kevin.dinh@lissi.id> --------- Signed-off-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Kevin Dinh <92726228+Dindexx@users.noreply.github.com> * Remove PEX and UC5 QES (#482) * remove PEX Signed-off-by: Kevin <kevin.dinh@lissi.id> * remove PEX appendix Signed-off-by: Kevin <kevin.dinh@lissi.id> * remove UC5 QES Signed-off-by: Kevin <kevin.dinh@lissi.id> * fix tests Signed-off-by: Kevin <kevin.dinh@lissi.id> * fix response encryption tests Signed-off-by: Kevin <kevin.dinh@lissi.id> * fix response encryption tests Signed-off-by: Kevin <kevin.dinh@lissi.id> --------- Signed-off-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Kevin Dinh <92726228+Dindexx@users.noreply.github.com> * remove on demand issuance feature (#483) Signed-off-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Kevin Dinh <92726228+Dindexx@users.noreply.github.com> * Refactor/client attestation (#506) * refactor: client attestation Signed-off-by: Kevin <kevin.dinh@lissi.id> * refactor: client attestation 2 Signed-off-by: Kevin <kevin.dinh@lissi.id> * refactor: client attestation 3 Signed-off-by: Kevin <kevin.dinh@lissi.id> * fix attestations Signed-off-by: Kevin <kevin.dinh@lissi.id> * fix attestations 2 Signed-off-by: Kevin <kevin.dinh@lissi.id> * refactor: client attestation 4 Signed-off-by: Kevin <kevin.dinh@lissi.id> * refactor: client attestation 5 Signed-off-by: Kevin <kevin.dinh@lissi.id> * fix test Signed-off-by: Kevin <kevin.dinh@lissi.id> * refactor: client attestation 6 Signed-off-by: Kevin <kevin.dinh@lissi.id> --------- Signed-off-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Kevin Dinh <92726228+Dindexx@users.noreply.github.com> * Extend IAttestationSigner: (#507) - Add method to sign a attestation request" Signed-off-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Kevin Dinh <92726228+Dindexx@users.noreply.github.com> * Enhance ClaimPath and ClaimPathJsonConverter functionality (#511) - Added JsonConverter attribute to ClaimPath for improved JSON serialization. - Refactored FromJArray method in ClaimPath to use expression-bodied syntax. - Updated ClaimPathComponent to handle JTokenType.Undefined in addition to JTokenType.Null. - Modified ClaimPathJsonConverter to handle JToken types more robustly. - Added unit tests for handling null components in ClaimPath serialization and deserialization. Signed-off-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Kevin Dinh <92726228+Dindexx@users.noreply.github.com> * Make ClientAttestation and WalletAttestation optional (#512) * Make ClientAttestation and WalletAttestation optional Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * Fix unit tests Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> --------- Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> Signed-off-by: Johannes Tuerk <72355192+JoTiTu@users.noreply.github.com> * Bump version to 3.0.0 Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> * add manual pipeline trigger (#518) Signed-off-by: Johannes Tuerk <72355192+JoTiTu@users.noreply.github.com> --------- Signed-off-by: Kevin <kevin.dinh@lissi.id> Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id> Signed-off-by: Kevin Dinh <92726228+Dindexx@users.noreply.github.com> Signed-off-by: Johannes Tuerk <72355192+JoTiTu@users.noreply.github.com> Co-authored-by: Johannes Tuerk <72355192+JoTiTu@users.noreply.github.com> Co-authored-by: Johannes Tuerk <johannes.tuerk@lissi.id>
This file contains hidden or 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
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.
Short description of what this resolves:
This PR enhances
ClaimPathhandling and its JSON deserialization to support array wildcards ([*]) and ensures consistent parsing within theAuthorizationRequestandSdJwtConfiguration.Changes proposed in this pull request:
ClaimPathComponentandClaimPathto treatnullorundefinedvalues in a JSON array as the "select all elements" ([*]) component.[JsonConverter(typeof(ClaimPathJsonConverter))]attribute to theClaimPathstruct to ensure it is always handled correctly by Newtonsoft.Json.AuthorizationRequest.CreateAuthorizationRequestto use a custom serializer that includesClaimPathJsonConverter, enabling correct parsing of nested claim paths in DCQL queries.ClaimPathJsonConverterto provide more descriptive error messages when encountering unexpected JSON token types.ClaimPathwildcard handling.SdJwtConfiguration.AuthorizationRequestto verify parsing of complex claim paths with wildcards.Fixes: #