Shaumik Mondal
03/31/2026, 12:18 AMDevRev
03/31/2026, 12:19 AMtenants claim, which includes tenant IDs and their associated roles/permissions. However, to get the actual tenant name (not just ID), you'll need to use the management API to load tenant details.
Node.js Example
// First validate the session to get JWT claims
const authInfo = await descopeClient.validateSession(sessionToken);
// Get tenant ID from the dct (Descope Current Tenant) claim
const currentTenantId = authInfo.token.dct;
// Load tenant details to get the name
const tenant = await descopeClient.management.tenant.load(currentTenantId);
const tenantName = tenant.name;
Python Example
# Validate session
jwt_response = descope_client.validate_session(session_token)
# Get current tenant ID
current_tenant_id = jwt_response.get('dct')
# Load tenant to get name
tenant = descope_client.mgmt.tenant.load(current_tenant_id)
tenant_name = tenant['name']
Go Example
// Validate session
authInfo, err := descopeClient.Auth.ValidateSessionWithToken(context.Background(), sessionToken)
// Get current tenant ID from dct claim
currentTenantID := authInfo.Token["dct"].(string)
// Load tenant details
tenant, err := descopeClient.Management.Tenant().Load(context.Background(), currentTenantID)
tenantName := tenant.Name
JWT Structure
The JWT structure includes:
⢠dct (Descope Current Tenant): The active tenant ID
⢠tenants: Object containing all tenant IDs with their roles and permissions
To get the tenant name, you must use the management API since the JWT only contains tenant IDs, not names.Shaumik Mondal
03/31/2026, 12:21 AMShaumik Mondal
03/31/2026, 12:22 AMChris Carper
03/31/2026, 2:17 AMShaumik Mondal
03/31/2026, 3:25 AMAtharva Joshi
03/31/2026, 3:40 AMShaumik Mondal
03/31/2026, 3:42 AM