circlefin / verite Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://verite.id
License: MIT License
Home Page: https://verite.id
License: MIT License
Do the following as a fast-follow to the already-too-large PR (each as separate PRs)
did:pkh meets the guidelines for did method selection we've outlined. Would be great to add support:
https://github.com/w3c-ccg/did-pkh/blob/main/did-pkh-method-draft.md
Verite wallet currently assumes manifest input/output descriptor IDs have a 1:1 mapping to Verifiable Credential types. As there is no guarantee that every Verite SDK users will always assign globally unique input/output descriptor IDs, it should be improved. According to DIF standard, id
property just needs to be a string that does not conflict with the id
of another output descriptor in the same manifest.
I suggest to use schema
property of output descriptor in the format of URI. And will register only output descriptor as the VC type instead of entire manifest which could include more than one output descriptors. This schema registry supports classification of VCs for the purpose of display and exchange in wallet.
Let me know your feedback. @kimdhamilton If you agree, I will make a PR accordingly.
In the Patterns -> Identifier Methods page, there is a link to the w3c on the did-method-key. However, that link is no longer valid. I tried to do a quick cursory search online, and could only find the github repo rather than the working group reference doc.
Currently we assume bitstring method for credential status; make this extensible
Do we need normative or non-normative guidelines on:
kid
in the header when issuer DID has more than 1kid
even if there's only 1 for systems that might fumble the resolution "to default"cc @ra-phael for noticing in our testing VC!
Upon trying to setup the demos with npm run setup
from the tip of main [0efdfaf] the install gets into an infinite echo loop. It seems like it is thanks to the npm script build
.
"credential_response": {
"id": "a30e3b91-fb77-4d22-95fa-871689c322e2",
"spec_version": "https://identity.foundation/credential-manifest/spec/v1.0.0/",
"applicant": "did:example:123",
"manifest_id": "32f54163-7166-48f1-93d8-ff217bdb0653",
"application_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"fulfillment": {
"descriptor_map": [
{
"id": "banking_output_2",
"format": "jwt_vc",
"path": "$.verifiableCredential[0]"
},
{
"id": "employment_output",
"format": "ldp_vc",
"path": "$.verifiableCredential[1]"
},
{
"id": "citizenship_output_1",
"format": "ldp_vc",
"path": "$.verifiableCredential[2]"
}
]
}
},
From conversation with @bmuller :
occupations and source of funds verification not done by most IDV companies... AML should maybe be an optional additional cred!
Verite wallet has only one part - CredentialDetail
component that depends on specific credential types (attestation schemas). Attestation properties are extracted according to the schema for display purpose.
Actually, it is unnecessary and redundant.
The properties are also extracted by a manifest utility function - getDisplayProperties
in a schema-agnostic way.
And since PR #458 (this is a super superb update, congrats ๐) allowed user-defined types of credentials, I recommend removing the dependency on schemata.
E.g. verify-a-verifiable-credential.md
This issue to help track and remember to update the docs where there is currently a placeholder. In the Patterns -> Schema section, there's a placeholder that says:
TODO: LINK TO BITSTRING DOC
This issue is to track the updating of that part of the docs with the relevant link.
Need better abstractions for did methods. As mentioned in #378, also add support for other methods. (did:ion as well?)
Names like "issuer", "verifier" are confusing. The current file grouping would make more sense as something like this, because the functions are intended to be called by both sides (issuer/holder)
Also open to different groupings.
There is some reuse so we may also need something like common and/or payloads?
Previously created an issue in did-jwt-vc where verifyVP
was not verifying enclosed VCs: decentralized-identity/did-jwt-vc#92. It was closed as by-design.
We are verifying enclosed VCs in Verite, but here and more generally in the VC ecosystem, VC/VP verification logic may be spread out and not follow consistent patterns
Clarify, possibly using the framework started (in vc-http-api)
Considerations:
Reported: In credentialStatus , there is a type field. In Centre document it is RevocationList2021Status
. But VC Status List and VC-Data-Model documents name it differently as StatusList2021Entry
and CredentialStatusList2017
. Should we use RevocationList2021Status onward?
Recommended fix: Update to use the latest one in StatusList2021Entry
This issue represents my review of the entire monorepo and documentation that I'd personally like to see and will likely work on. It is ongoing, and I will edit this description as I continue to dive into the code.
No action is necessary from anyone else, but questions and feedback are always welcome :)
Notes:
Related to #437, determine if we need to lock to specific spec versions
In advance of the VC 2.0, a DIF working group has focused on harmonizing the VC-JWT format. They've developed a test suite and attempted to prove interoperability with the LD Proof suite that also uses JWS.
This is the test suite: https://github.com/decentralized-identity/JWS-Test-Suite
This work item involves:
@OR13 would be delighted to answer any questions you have
Hi team,
I cloned the github repo https://github.com/centrehq/verite
and followed the instructions as given in the readme file.
It says it is required to use NodeJS14 and npm7 but Node14 comes with a default combination with npm6 and I can't use npm7 with Node14. I have also used higher versions of Node i.e above 14 in combination with npm7 and above. That also didn't work.
I'll be highly obliged if you suggest anything to me anything, so that I can run the sample.
I've attached the error screenshot too
Thanks.
Hi,
I'm trying to get the demo-issuer code up and running - I have made some changes so it uses my IP address rather than localhost, and I can successfully scan the QR code with the mobile wallet app and receive the manifest - but "Request" always results in an error in the console on the server side "TypeError: bad_key: Invalid private key format" - I have repeated the same test on my laptop, using the simulation buttons in the browser page, but - same error.
Just wondering if this is expected to work, or if I have missed a setup step along the way?
Thanks,
Iain
Note additional of applicant property as well as JWT embeds.
https://identity.foundation/credential-manifest/#embed-target-examples
In some areas of the docs, we've conflated roles of verifier service vs verifier frontend. See here for example: /packages/docs/verite/quick_start.md
Do an audit and fix to help avoid confusion
#346 followup:
On any fresh install of the verite
library from NPM, when I try to use the library, I get the error:
Error: Cannot find module 'tslib'
Manually installing the tslib
dependency solves the problem, but it looks like that's a dependency that might need to be installed as part of verite's installation process?
https://docs.centre.io/verite/developers/issue-a-verifiable-credential
I cannot scroll content on chrome Version 98.0.4758.102 (Official Build) (x86_64) / macOS
also from conversation with @bmuller :
new process object for issuers that don't do that check or just nix it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.