-
Notifications
You must be signed in to change notification settings - Fork 60
Upgrade askar-anoncreds endpoints and unify tenant-ui (WebVH + Indy) #1804
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
Conversation
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Deployment URLs ready for review. |
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
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.
Pull request overview
This PR upgrades the askar-anoncreds endpoint support and unifies the tenant-ui to support both WebVH and Indy identifiers within the same interface. The changes enable askar-anoncreds wallets to work with both Indy-based and WebVH-based credentials simultaneously.
Key changes include:
- Unified DID display showing both Indy public DIDs and WebVH DIDs in a single table
- Enhanced schema and credential definition storage to support both Indy and AnonCreds formats
- Improved revocation handling with automatic endpoint detection based on credential format
- Added validation for both Indy and AnonCreds schema/credential definition ID formats
Reviewed changes
Copilot reviewed 25 out of 25 changed files in this pull request and generated 20 comments.
Show a summary per file
| File | Description |
|---|---|
| services/tenant-ui/frontend/src/views/Identifiers.vue | Unified DID display to show both Indy and WebVH identifiers with custom sorting to keep public Indy DID at top |
| services/tenant-ui/frontend/src/store/tenantStore.ts | Updated isIssuer check to allow issuing when connected to either Indy OR WebVH |
| services/tenant-ui/frontend/src/store/issuerStore.ts | Enhanced revocation to auto-detect credential format and use appropriate AnonCreds or Indy endpoint |
| services/tenant-ui/frontend/src/store/governanceStore.ts | Added functions to list and merge schemas/cred defs from both Indy and AnonCreds endpoints with manual storage fallback |
| services/tenant-ui/frontend/src/store/index.ts | Exported useCommonStore for consistent imports |
| services/tenant-ui/frontend/src/store/utils/fetchItem.ts | Added URL encoding for IDs to handle special characters like colons and slashes |
| services/tenant-ui/frontend/src/components/verifier/createPresentationRequest/CreateRequestForm.vue | Auto-determine presentation request filter type based on wallet type |
| services/tenant-ui/frontend/src/components/layout/Header.vue | Updated import path for useCommonStore |
| services/tenant-ui/frontend/src/components/issuance/schemas/Schemas.vue | Simplified to use unified storage endpoints for both wallet types |
| services/tenant-ui/frontend/src/components/issuance/schemas/CreateSchemaForm.vue | Enhanced issuer dropdown to show both Indy and WebVH DIDs |
| services/tenant-ui/frontend/src/components/issuance/schemas/CreateSchema.vue | Updated to load wallet DIDs instead of WebVH config |
| services/tenant-ui/frontend/src/components/issuance/credentials/RevokeCredentialForm.vue | Added credential format detection to use correct revocation endpoint |
| services/tenant-ui/frontend/src/components/issuance/credentials/OfferCredentialForm.vue | Enhanced schema lookup with fallback to AnonCreds endpoint and improved error handling |
| services/tenant-ui/frontend/src/components/issuance/credentials/OfferCredential.vue | Simplified to use unified storage endpoints |
| services/tenant-ui/frontend/src/components/issuance/credentials/EnterCredentialValues.vue | Added schema validation and support for both Indy and AnonCreds attribute formats |
| services/tenant-ui/frontend/src/components/issuance/credentialDefinitions/CredentialDefinitions.vue | Simplified to use unified storage endpoints for both wallet types |
| services/tenant-ui/frontend/src/components/issuance/credentialDefinitions/CreateCredentialDefinition.vue | Updated to load wallet DIDs instead of WebVH config |
| services/tenant-ui/frontend/src/plugins/i18n/locales/en.json | Added "filterType" translation keys |
| services/tenant-ui/frontend/src/helpers/constants.ts | Added URL encoding to storage item paths and new AnonCreds revocation endpoint |
| plugins/traction_innkeeper/traction_innkeeper/v1_0/schema_storage/schema_storage_service.py | Enhanced to support both Indy ledger and AnonCreds registry schema retrieval with retry logic |
| plugins/traction_innkeeper/traction_innkeeper/v1_0/schema_storage/models.py | Updated validation to accept both Indy and AnonCreds schema ID formats |
| plugins/traction_innkeeper/traction_innkeeper/v1_0/creddef_storage/routes.py | Added POST endpoint for manually adding credential definitions to storage |
| plugins/traction_innkeeper/traction_innkeeper/v1_0/creddef_storage/models.py | Updated validation to accept both Indy and AnonCreds credential definition ID formats |
| plugins/traction_innkeeper/traction_innkeeper/v1_0/creddef_storage/creddef_storage_service.py | Enhanced to support both Indy ledger and AnonCreds registry credential definition retrieval |
| plugins/traction_innkeeper/traction_innkeeper/v1_0/tests/test_creddef_storage_routes.py | Updated test to expect 4 routes instead of 3 after adding POST endpoint |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
services/tenant-ui/frontend/src/components/issuance/schemas/CreateSchemaForm.vue
Outdated
Show resolved
Hide resolved
...ant-ui/frontend/src/components/issuance/credentialDefinitions/CreateCredentialDefinition.vue
Outdated
Show resolved
Hide resolved
services/tenant-ui/frontend/src/components/issuance/credentials/RevokeCredentialForm.vue
Outdated
Show resolved
Hide resolved
services/tenant-ui/frontend/src/components/issuance/schemas/CreateSchemaForm.vue
Show resolved
Hide resolved
services/tenant-ui/frontend/src/components/issuance/schemas/CreateSchemaForm.vue
Outdated
Show resolved
Hide resolved
services/tenant-ui/frontend/src/components/issuance/credentials/RevokeCredentialForm.vue
Outdated
Show resolved
Hide resolved
services/tenant-ui/frontend/src/components/issuance/credentials/RevokeCredentialForm.vue
Outdated
Show resolved
Hide resolved
services/tenant-ui/frontend/src/components/issuance/schemas/Schemas.vue
Outdated
Show resolved
Hide resolved
cc5ae75 to
38c779a
Compare
…eateSchemaForm.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
…s/RevokeCredentialForm.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
…eateSchemaForm.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
…s/RevokeCredentialForm.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
…hemas.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
…s/RevokeCredentialForm.vue Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
38c779a to
a18fa0c
Compare
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
Signed-off-by: Patrick St-Louis <patrick.st-louis@opsecid.ca>
|
While reviewing, please have a look at the webvh workshop: |
loneil
left a comment
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.
I regression tested existing askar wallet tenant setup-config-issue-verify-revoke flows.
Tried out upgrading a wallet after that to webvh.
Went through the webvh workshop (the Tenant UI part at least) and everything worked successfully.
No description provided.