This document contains instructions and tips useful when upgrading ACAPy VC-AuthN.
The functionality has mostly remained unchanged, however there are some details that need to be accounted for.
-
Endpoints:
authorizationandtokenendpoints have changed, review the new values by navigating to the.well-knownURL and update your integration accordingly. -
Proof configurations: to be moved to a
v2.0instance, the following changes need to happen in existing proof-configurations.- The
nameidentifier for disclosed attributes has been deprecated, use thenamesarray instead. - If backwards-compatibility with
v1.0tokens is required, theinclude_v1_attributesflag should be switched totrue(see the configuration guide).
- The
-
Client Types: ACAPy VC-AuthN 2.0 currently only supports confidential clients using client id/secret. If public clients were previously registered, they will now need to use an AIM (e.g.: keycloak) as broker.
To simplify configuration and support new integration patterns, the environment variables for multi-tenant identification have been unified.
New Variables:
ACAPY_TENANT_WALLET_ID: ReplacesMT_ACAPY_WALLET_ID.ACAPY_TENANT_WALLET_KEY: ReplacesMT_ACAPY_WALLET_KEY.
Impact on Existing Deployments:
- No Action Required: Existing deployments using
MT_ACAPY_WALLET_IDandMT_ACAPY_WALLET_KEYwill continue to work. The system automatically falls back to these variables if the new ones are not present. - Recommended Action: We recommend updating your
docker-composeor Kubernetes configuration to use the newACAPY_TENANT_variables to ensure future compatibility.
If you are running in Multi-Tenant (AGENT_TENANT_MODE="multi") or Traction (AGENT_TENANT_MODE="traction") mode, you must now define the CONTROLLER_WEB_HOOK_URL environment variable.
- Why: The controller now explicitly registers this URL with the specific ACA-Py tenant wallet on startup. This fixes issues where OIDC authentication flows would hang because the agent sent verifications to the wrong location or failed authentication.
- Action Required: Update your
docker-composeor Kubernetes config:environment: - CONTROLLER_WEB_HOOK_URL=https://<your-controller-domain>/webhooks
A new mode has been added for integrating with Traction (or secured multi-tenant agents where Admin APIs are blocked).
- Setting:
AGENT_TENANT_MODE="traction" - Requirements: Requires
ACAPY_TENANT_WALLET_ID(as the Traction Tenant ID) andACAPY_TENANT_WALLET_KEY(as the Traction Tenant API Key). - Behavior: Authenticates directly with the Tenant API (
/multitenancy/tenant/{id}/token) using the provided API Key and bypassesmultitenancy/walletAdmin endpoints used in standard multi-tenant mode.