Skip to content

feat(join): present a Verifiable Invitation Credential when joining#127

Merged
stormer78 merged 1 commit into
mainfrom
vic-join
Jun 17, 2026
Merged

feat(join): present a Verifiable Invitation Credential when joining#127
stormer78 merged 1 commit into
mainfrom
vic-join

Conversation

@stormer78

Copy link
Copy Markdown
Contributor

Summary

Replaces the join VP stub with a real presentation that embeds an invitation credential (VIC) the operator supplies at launch, so a VTC can auto-admit the applicant with no manual review.

Companion PR (community side): verifiable-trust-infrastructure #522 — feat: automatic VTC join via Verifiable Invitation Credential (VIC).

What's included

  • openvtc_core::join::build_join_vp — builds the holder VP, embedding the VIC in verifiableCredential when present (no VP proof needed — DIDComm authcrypt authenticates the sender). Unit-tested.
  • --invitation <file> CLI flag — load + parse the VIC JSON at launch (fails fast on a bad path / malformed JSON), threaded through State/StateHandler into the join flow and injected at submit (replacing the join_flow.rs stub).
  • TUI: entry-page "✓ Invitation credential loaded" indicator + a submit-time progress line.

Tests

openvtc_core::join::tests (VP builder with/without invitation); full openvtc-core lib suite: 197 passing; binary compiles; fmt clean.

Notes

  • A VIC is holder-bound (credentialSubject.id == presented DID). The join flow mints a fresh persona by default, so for the demo use the reuse-persona path so the presented DID matches the VIC subject. Pre-binding a mint-fresh persona to a VIC subject is a follow-up.

🤖 Generated with Claude Code

Replaces the join VP stub with a real presentation that embeds an invitation
credential (VIC) the operator supplies at launch, so a VTC can auto-admit the
applicant without manual review.

- openvtc-core::join::build_join_vp: build the holder VP, embedding the VIC in
  verifiableCredential when present (no VP proof needed — DIDComm authcrypt
  authenticates the sender). Unit-tested.
- --invitation <file> CLI flag: load + parse the VIC JSON at launch (fails fast
  on a bad path / malformed JSON), threaded through State/StateHandler into the
  join flow and injected at submit.
- TUI: entry-page "invitation loaded" indicator + a submit-time progress line.

Signed-off-by: Glenn Gore <glenn.g@affinidi.com>
@stormer78 stormer78 requested a review from a team as a code owner June 17, 2026 08:02
@stormer78 stormer78 merged commit 5d6ef62 into main Jun 17, 2026
8 of 13 checks passed
@stormer78 stormer78 deleted the vic-join branch June 17, 2026 08:02
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.

1 participant