Tenant Onboarding
In a multi-tenant setup, it's crucial to understand the various roles within the system. There are two key roles in tenant management: administrators and tenants. Administrators are in charge of managing wallets and tenants, while tenants are users who engage in standard SSI interactions with the Cloud Agent.
Roles
In tenant management, there are 2 roles:
Prerequisites
- The Cloud Agent up and running
- The Cloud Agent is configured with the following environment variables:
ADMIN_TOKEN=my-admin-token
API_KEY_ENABLED=true
API_KEY_AUTO_PROVISIONING=false
DEFAULT_WALLET_ENABLED=false
Overview
This is a guide on how to onboard a new tenant from scratch. This tutorial will demonstrate the creation of a new entity representing the tenant, the provisioning of a wallet, and enabling an authentication method for this tenant. Subsequently, the tenant will gain the capability to engage in SSI activities within an isolated wallet environment using the Cloud Agent.
Endpoints
Endpoint | Description | Role |
---|---|---|
GET /wallets | List the wallets on the Cloud Agent | Administrator |
POST /wallets | Create a new wallet on the Cloud Agent | Administrator |
POST /iam/entities | Create a new entity on the Cloud Agent | Administrator |
POST /iam/apikey-authentication | Create a new authentication for the entity | Administrator |
GET /did-registrar/dids | List the DIDs inside the wallet | Tenant |
Administrator interactions
1. Check the existing wallets
When running the Cloud Agent using the configurations above, the Agent should start with an empty state. Listing wallets on it should return empty results.
curl -X 'GET' \
'http://localhost:8080/cloud-agent/wallets' \
-H 'accept: application/json' \
-H 'x-admin-api-key: my-admin-token'
Response Example:
{
"self": "/wallets",
"kind": "WalletPage",
"pageOf": "/wallets",
"contents": []
}