Code Monkey home page Code Monkey logo

verite's People

Contributors

bmcd avatar bmuller avatar bricestacey avatar bumblefudge avatar dan-l avatar dependabot[bot] avatar dlim-circle avatar dnharold avatar euj1n0ng avatar jgardner00 avatar jheron-circle avatar jscaltreto avatar kimdhamilton avatar nshahidi avatar polluterofminds avatar psnevio avatar taisiiak avatar taotao-circle avatar tjbaker avatar venables avatar zepeng811 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

verite's Issues

Blog posts out of order

The Verite blog dates seem to be getting overwritten or auto-populated. Today is Jun 14 and notice datestamp from blog written weeks ago. Also note sorting of blog posts on the LHS -- they are not in chronological order.
Screen Shot 2022-06-14 at 6 45 38 PM

Follow up to multiple VC/C support and related PE/CM improvements

Do the following as a fast-follow to the already-too-large PR (each as separate PRs)

  • Push changes to did-jwt-vc
  • Add nested_paths testcase for VC with multiple Cs
  • Increase unit test coverage
  • Add documentation about Verite conventions (e.g., sample data) and data model clarity (credentials vs attestations)
  • Expand out builder improvements
    • update areas of the codebase that can be simplified
    • add documentation
    • but also clarify that use is optional and pluggable at any desired layer (e.g. can reuse parts while pasting in fields). Also can continue to use or intermix json if preferred (examples in verite-credential-utils show how these can be mixed for convenience)

Android Bundling Failure

While running the npm run wallet , I'm getting this android bundling error after I downloaded the expo application in andriod phone and after scanning the QR code inside cli .
Following is the error shown on cli

Screenshot 2022-10-03 at 2 16 33 PM

Following is the error on the mobile app

MicrosoftTeams-image (1)

Improve credential mapping in wallet in a global context

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.

Docs - did-method-key reference link is no longer valid

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.

`kid` prop in JWTs

Do we need normative or non-normative guidelines on:

  • issuer DIDs with more than 1 key
  • issuing VCs with a kid in the header when issuer DID has more than 1
  • issuer SHOULD provide a kid even if there's only 1 for systems that might fumble the resolution "to default"
    etc?

cc @ra-phael for noticing in our testing VC!

`npm run build` infinite echo loop

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.

image

Fix credential fulfillment structure to be conformant with latest CM

  • Structure now looks like below
  • Also need to snapshot/version supported libraries
  • Additional followup
    • credential-fulfillment.ts: repair after making consistent with latest Credential Manifest
    • credential-fulfillment.test.ts: duplicate tests?
  "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]"
        }
      ]
    }
  },

Minor Fix: Purge dependency on schemata from wallet

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.

Add Link to Bitstring Docs

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.

User Feedback: Some documentation requests

  • APIs of verite library (core functions, even if very high-level)
  • function to test VC verification in isolation (for testing) - is this in the underlying veramo VC-JWT library?

Fix verite lib names

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)

  • issuer => issue
  • verifier => verify

Also open to different groupings.

There is some reuse so we may also need something like common and/or payloads?

Clarify VC/VP verification

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:

  • Revisit/revise 3V, also in the context of the DIF specs, which spread some of the related data model aspects to Credential Manifests, etc (fitness for purpose, etc)
  • Determine how we should clarify in Verite docs
  • Determine whether a WIP standard-track proposal makes sense (in DIF, etc)
  • Determine impacts to libraries โ€” do we need better encapsulation of logic? More generally, how would we recommend improving/clarifying existing VC verification libraries (including did-jwt-vc, json-ld, transmute libraries)

LIVING ISSUE - Documentation Needs

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:

  • Type Documentation - working with Typescript is great when you have libraries that provided defined types...IF those libraries make it clear what all the available types are and when you use them. To avoid developers accidentally writing their own types when the core library has them already, we should document these types.
  • @verity/core documentation - This is an over-arching bullet point, but we need an entry point to start documenting the @verity/core package.
  • Tutorials - start to finish walkthrough of building an issuer app
  • Tutorials - start to finish walkthrough of building a verifier
  • Tutorials - start to finish walkthrough of building a credential wallet
  • Docs on building a credential manifest from scratch (@verity/core supports KYC and credit score)
  • Update verifier docs (I couldn't get verification working with the existing docs)
  • In issuance documentation/tutorial, clarify that the verifiable credential should be the decoded value not the JWT.

Update VC-JWT to harmonized DIF format

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:

  • Updating the VC signatures to use harmonized VC-JWT signatures
  • Bonus points for adding this to the implementations in the test suite
  • Even more bonus points for fixing the did-jwt-vc library (which we currently use). Tracked here: decentralized-identity/JWS-Test-Suite#39

@OR13 would be delighted to answer any questions you have

Scanning the qr code on the terminal screen with the expo go app, I get a network connection timed out error

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.
image

Credential issuing demo on MacBook and iPhone

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

Verification followup

#346 followup:

  • Ensure VP verification this verifies all nested credentials
  • also accept PresentationPayload?

Error: Cannot find module 'tslib' after installing verite npm library

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.