zkPass
zkPass User's Guide
zkPass User's Guide
  • Getting Started
    • 🔊Introduction
      • What is zkPass?
      • How does it work?
      • How zkPass can help you
      • What's Ahead
    • 🌤️Service-based Proof System
      • Main Features
      • zkPass Workflows
      • Deployment Options
        • Public-Cloud Hosting
        • Private-Cloud Hosting
        • On-Premise Hosting
    • 🗝️Key Concepts
      • User Data
      • DVR
      • zkPass Proof
  • Core Components
    • 🏛️Service Architecture
      • RESTful API Web Service
      • zkPass Query Host
    • 👥zkPass Client Roles
    • 🤝Trust Models
      • Data Privacy Trust Model
      • Data Integrity Trust Model
      • Computation Integrity Trust Model
    • 👩‍💻zkPass Module
  • Use Cases
    • 🩸Employee Onboarding
      • “Blood Test Result” User Data
      • "Employee Onboarding" DVR
      • zkPass Integration
      • Call Sequence
    • 🚘Loan Application Screening
      • “BCA Customer Profile” User Data
      • Loan Screening DVR
      • zkPass Integration
      • Call Sequence
    • 🛒Sharing OIDC Users Securely
      • "ShopSphere ID Token" User Data
      • "ShopSphere Account Holder" DVR
      • zkPass Integration
        • Integration Guidelines for ShopSphere OIDC Provider
        • Integration Guidelines for Krisna Service
        • Integration Guideline for ShopSphere App
      • Call Sequence
  • FAQ
    • How is verifiable computing implemented by ZKP?
  • Glossary
    • Client-based Proof System
    • DVR
    • User Data
    • zkPass Proof
Powered by GitBook
On this page
Export as PDF
  1. Use Cases
  2. Sharing OIDC Users Securely

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

Previous"ShopSphere ID Token" User DataNextzkPass Integration

Last updated 1 year ago

🛒