Skip to main content

Authentication

IDMP SDK uses Bearer Token (JWT) for authentication. How you obtain the token depends on your deployment type.

Enterprise (Self-Hosted) Authentication

Obtain a token by calling the login API with your username and password.

ApiClient apiClient = new ApiClient("Authorization");
apiClient.setBasePath(System.getenv("IDMP_HOST"));

UserResourceApi userApi = apiClient.buildClient(UserResourceApi.class);
LoginReqDTO req = new LoginReqDTO();
req.setLoginName(System.getenv("IDMP_USERNAME"));
req.setPassword(System.getenv("IDMP_PASSWORD"));

LoginRspDTO rsp = userApi.apiV1UsersLoginPost(req);
apiClient.setBearerToken(rsp.getToken()); // All subsequent requests carry this token

Cloud Service Authentication

The cloud service requires two tokens simultaneously: Authorization (Bearer Token) and Access-token.

How to obtain the tokens:

  1. Log in to the cloud service via browser (https://<instance-id>.idmp.taosdata.com)
  2. Open browser DevTools → Network tab
  3. Refresh the page and locate any backend API request (e.g. /api/v1/permissions/menus)
  4. Copy the following three values:
ItemDescription
Request URL hostFormat: https://<instance-id>.idmp.taosdata.com
Access-token request headerCloud-specific authentication token
Authorization request headerBearer Token — remove the Bearer prefix
  1. Set them as environment variables:
export CLOUD_HOST=https://<instance-id>.idmp.taosdata.com
export CLOUD_TOKEN=<Access-token value>
export BEARER_TOKEN=<Authorization token value (without "Bearer " prefix)>
  1. Initialize the client:
ApiClient apiClient = new ApiClient("Authorization");
apiClient.setBasePath(System.getenv("CLOUD_HOST"));
apiClient.setBearerToken(System.getenv("BEARER_TOKEN"));
apiClient.addDefaultHeader("Access-token", System.getenv("CLOUD_TOKEN"));

Token Lifetime and Refresh

DeploymentToken LifetimeHow to Refresh
Enterprise{TOKEN_TTL} (see server config)Call the login API again
Cloud ServiceControlled by browser sessionLog in via browser again and copy the new token
tip

Wrap your token acquisition and refresh logic in a helper function, and auto-trigger refresh when you receive a 401 Unauthorized response.

Security Best Practices

  • Never hard-code tokens, usernames, or passwords in source code
  • Use environment variables or a secrets manager (Vault, AWS Secrets Manager, etc.)
  • Always use HTTPS in production environments