LogoLogo
ProductsCommunityGitHubShare Feedback
Wallet Kit
Wallet Kit
  • What is the Wallet Kit?
    • Introduction
    • Transition To The Community Stack
    • Self-Sovereign Identity
      • SSI | Basics
      • Technology & Concepts
    • Wallet Kit
      • Wallet Kit | Basics
        • Overview
        • Functionality
      • Architecture
    • Issuer & Verifier Portals
      • Functionality
      • Architecture
  • Getting started
    • Quick Start
    • CLI | Command Line Interface
    • REST APIs
      • Issuer Configuration
      • Credential Templates
      • Credential Issuance
      • Credential Verification
    • Dependency (JVM)
    • Frontend
    • Public deployments
    • Demo
    • Build
      • Docker Build
        • Docker
      • Local Build
  • Configuration and Setup
    • Wallet backend setup
    • Issuer portal setup
    • Verifier portal setup
  • Concepts
    • OpenID Connect (OIDC)
      • OIDC for Credential Issuance
      • OIDC for Verifiable Presentations (SIOP)
      • Issuance via OIDC for Verifiable Presentations (SIOP)
  • Ecosystems
    • IOTA
      • Tutorials
        • Login With IOTA
  • Community
    • Discord
    • Twitter
    • Newsletter
    • GitHub Discussions
  • DEVELOPER RELATIONS
    • Roadmap
    • Contribute
    • Share Feedback
    • Contact
  • Product Editions
    • Open Source | Always Free
    • Enterprise
    • Cloud Platform
Powered by GitBook
On this page
  • Multi-tenancy
  • Creating a DID for a tenant
  • Retrieve and update tenant configuration
  • Update issuer configuration to include our generated DID

Was this helpful?

Export as PDF
  1. Getting started
  2. REST APIs

Issuer Configuration

Multi-tenancy

Since mid-Jan Q1/23 the Wallet Kit extended it's multi-issuer configurability to a complete multi-tenancy supported system.

All API endpoints for issuer configuration have the option for setting a tenantId.

The default tenantId is "default".

Creating a DID for a tenant

POST /issuer-api/{tenantId}/config/did/create

curl -X 'POST' \
  'http://localhost:8080/issuer-api/default/config/did/create \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "method": "key",
}'

POST this JSON body to the specified URL:

{
    "method": "string*",
    "keyAlias": "string",
    "didWebDomain": "string",
    "didWebPath": "string"
}

Method being one of: [ key, web, ebsi, iota, cheqd, jwk ]. Only the method is required. All "didWeb" prefixed options are only needed for creating a did:web.

Response: did:key:z6MknaJ7YLdkCq1QV2tcwVSY5uVfUKGfBdigo7g4PyipTnCc

Retrieve and update tenant configuration

GET /issuer-api/{tenantId}/config/getConfiguration

curl -X 'GET' \
  'http://localhost:8080/issuer-api/default/config/getConfiguration' \
  -H 'accept: application/json'
{
    "issuerUiUrl": "https://issuer.cheqd.walt-test.cloud",
    "issuerApiUrl": "https://issuer.cheqd.walt-test.cloud/issuer-api/default",
    "issuerClientName": "walt.id Issuer Portal",
    "wallets": {
        "walt.id": {
            "id": "walt.id",
            "url": "https://wallet.cheqd.walt-test.cloud",
            "description": "walt.id web wallet",
            "presentPath": "api/siop/initiatePresentation/",
            "receivePath" : "api/siop/initiateIssuance/"
        }
    }
}

Update issuer configuration to include our generated DID

POST /issuer-api/{tenantId}/config/setConfiguration

curl -X 'POST' \
  'https://wallet.walt-test.cloud/issuer-api/default/config/setConfiguration' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d 'vv JSON BELOW vv'
{
    "issuerUiUrl": "https://issuer.cheqd.walt-test.cloud",
    "issuerApiUrl": "https://issuer.cheqd.walt-test.cloud/issuer-api/default",
    "issuerClientName": "walt.id Issuer Portal",
    "issuerDid": "did:key:z6MknaJ7YLdkCq1QV2tcwVSY5uVfUKGfBdigo7g4PyipTnCc",
    "wallets": {
        "walt.id": {
            "id": "walt.id",
            "url": "https://wallet.cheqd.walt-test.cloud",
            "description": "walt.id web wallet",
            "presentPath": "api/siop/initiatePresentation/",
            "receivePath" : "api/siop/initiateIssuance/"
        }
    }
}

The configuration was amended to include the "issuerDid" attribute with the DID from "Creating a DID for a tenant".

PreviousREST APIsNextCredential Templates

Last updated 1 year ago

Was this helpful?