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 for vc+sd-jwt #273

Merged
merged 36 commits into from
Oct 18, 2024
Merged

Conversation

Zicchio
Copy link
Collaborator

@Zicchio Zicchio commented Sep 19, 2024

This pull request closes #269 and #255.
Proposals and modifications are very welcomed.

The followings steps where done:

  1. define a new interface for general purpose VP token (which is not intended to be a definitive and final iteration; open for review if/when we handle mdoc-cbor tokens); previous iteration "kinda" assume that the only possible VP tokens were vp-envolpes.
  2. new interface is intended to be decoupled from trust-layer and direct post processing as much possible for extensibility purposes.
  3. define an implementation for that interface for vc+sd-jwt tokens - In this PR only PIDs are obtained this way.
  4. integrate the usage of the new interface in the response_handler.py, with some care regarding extensibility and possible modifications at the trust layers

The final iteration resulted in more modifcations that intended - special care should be taken before pulling in @peppelinux .

Note that in the process we "lost" VP-envolpe; which was expclicity against the intent of this pull request. This is because the envolpe hypotesys was spread around in multiple methods and I found it hard to salvage (I don't deny that it might be a skill issue). Hopelly, the new interface should promote a new implementation in short time.

Copy link
Member

@peppelinux peppelinux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good achievements, anyway we have decided to continue in this PR these two core components:

pyeudiw/openid4vp/vp_sd_jwt_kb.py Outdated Show resolved Hide resolved
pyeudiw/openid4vp/vp_sd_jwt_kb.py Outdated Show resolved Hide resolved
pyeudiw/openid4vp/vp_sd_jwt_kb.py Outdated Show resolved Hide resolved
pyeudiw/openid4vp/vp_sd_jwt_kb.py Outdated Show resolved Hide resolved
pyeudiw/openid4vp/vp_sd_jwt_kb.py Outdated Show resolved Hide resolved
pyeudiw/satosa/default/response_handler.py Outdated Show resolved Hide resolved
pyeudiw/satosa/default/response_handler.py Outdated Show resolved Hide resolved
pyeudiw/sd_jwt/__init__.py Outdated Show resolved Hide resolved
pyeudiw/sd_jwt/schema.py Outdated Show resolved Hide resolved
pyeudiw/sd_jwt/schema.py Outdated Show resolved Hide resolved
@Zicchio Zicchio marked this pull request as draft September 20, 2024 06:41
@Zicchio
Copy link
Collaborator Author

Zicchio commented Sep 25, 2024

dev note: I rebased the branch based on the changes of PR #270 and PR #272 and handles some conflicts (mostly in the ingration test hanges with PR #272).
no further changes are introduced

@peppelinux peppelinux changed the base branch from dev to dev_sdjwt-bk October 3, 2024 09:11
@peppelinux peppelinux marked this pull request as ready for review October 18, 2024 07:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants