iflytek/astron-agent · warning

Tenant internal authentication is not configured; request…

Error message

Tenant internal authentication is not configured; request was not sent

What it means

A warn log when the tenant internal API key is not configured (blank/absent), so the tenant request is deliberately not sent and the method returns null. TenantInternalApiKey.requireConfigured throws IllegalStateException which is converted to a null return.

Solutions

  1. Set the tenant internal API key configuration property (e.g. env var / application.yml) for the hub service
  2. Confirm TenantInternalApiKey.requireConfigured's expected config source and key name match your deployment config
  3. Restart the service after adding the key and verify via startup config validation

Example fix

// before
tenant:
  internal-key:   # empty
// after
tenant:
  internal-key: ${TENANT_INTERNAL_API_KEY}
Defensive patterns

Strategy: fallback

When it happens

Trigger: Any call to configuredInternalKey (via configuredTenantInternalKey) when the tenantInternalKey config property is unset or empty in the environment.

Common situations: Deploying hub without setting the tenant internal auth key env/config; config key renamed after upgrade; local dev environments missing the property that production has.

Understand the failure class

Background: "environment variable is not set" and "Missing keys in environment" errors: what missing required env var messages mean and how to fix them — this error's family across 28 libraries.

Related errors


AI-assisted analysis of iflytek/astron-agent@5e758547a8 (2026-09-12). Data as JSON: /api/errors/630f09171ceb52a5. Report an issue: GitHub.

Appendix: source

Thrown at console/backend/hub/src/main/java/com/iflytek/astron/console/hub/service/publish/impl/TenantServiceImpl.java:128

            if (reqJson.getInteger("code") == 0 && reqJson.containsKey("data")
                    && reqJson.getJSONArray("data").getJSONObject(0).containsKey("auth_list")) {
                return JSONArray.parseArray(reqJson.getJSONArray("data").getJSONObject(0).getString("auth_list"), TenantAuth.class).get(0);
            } else {
                log.error(
                        "Tenant app detail response was rejected or incomplete, code={}",
                        reqJson.getInteger("code"));
            }
        } catch (Exception e) {
            log.error("Tenant app detail request failed: {}", e.getClass().getSimpleName());
        }
        return null;
    }

    private String configuredTenantInternalKey() {
        try {
            return TenantInternalApiKey.requireConfigured(tenantInternalKey);
        } catch (IllegalStateException exception) {
            log.warn("Tenant internal authentication is not configured; request was not sent");
            return null;
        }
    }

}

View on GitHub (pinned to 5e758547a8)