"ShopSphere Account Holder" DVR

Following the zkPass SDK guideline, Krisna defines the “ShopSphere Account Holder” DVR for user Jane Doe. The query of the DVR looks like the following:

[
  {
    "assign": {
      "account_holder": {
        "and": [
          { "==": [{ "dvar": "iss" }, "http://oidc-provider.ShopSphere.com"] },
          { "~==": [{ "dvar": "firstName" }, "Jane"] },
          { "~==": [{ "dvar": "lastName" }, "Doe"] },
          {
            "==": [{ "dvar": "driverLicenseNumber" }, "DL00718256"]
          }
        ]
      }
    }
  },
  { "output": { "title": "ShopSphere Account Holder Results" } },
  { "output": { "result": { "lvar": "account_holder" } } },
  { "output": { "name": { "dvar": "name" } } }
]

The query contains four requirements or conditions for the "ShopSphere Account Holder" verification, which are explained below

  1. iss == "http://oidc-provider.ShopSphere.com" This condition is to ensure that the DVR works on ShopSphere-issued ID token. The "iss" keyword stands for "issuer".

  2. firstName == “Jane” This cross-reference condition is to ensure that the user is Jane Doe.

  3. lastName == “Doe” This cross-reference condition is to ensure that the user is Jane Doe.

  4. driverLicenseNumber == "DL00718256" This cross-reference condition is to ensure that the applicant is Jane Doe by verifying the expected driver's license number. The Krisna previously, through other means, had already acquired and verified Jane Doe’s driver's license number.

Upon receipt of a zkPass proof from the ShopSphere app, Krisna service backend calls the zkpass-client's verify_zkpass_proof function to authenticate the proof. A successful verification indicates that the user indeed has an account with ShopSphere.

Last updated