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 Body Schema Example Response
Copy 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:
Copy {
"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 Example Response
Copy curl -X 'GET' \
'http://localhost:8080/issuer-api/default/config/getConfiguration' \
-H 'accept: application/json'
Copy {
"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 Example Response
Copy 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'
Copy {
"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".