Ishan Anilbhai Koradiya
12/16/2025, 1:13 PMkapa.ai
12/16/2025, 1:14 PMglobal.auth.instanceAdmin.* settings and related Helm values are ignored, and Airbyte instead uses (or creates) the airbyte-auth-secrets Secret with its own credentials. This matches what you’re seeing: login page appears, but the credentials you put in your own Secret don’t work and you get 401s. [[Deploy auth](https://docs.airbyte.com/platform/deploying-airbyte/integrations/authentication); [Helm password bug](https://github.com/airbytehq/airbyte/issues/65154)] From the docs, the only supported way (today) to control the initial admin password is: 1. Create/modify the airbyte-auth-secrets Secret in your namespace: yaml apiVersion: v1 kind: Secret metadata: name: airbyte-auth-secrets type: Opaque stringData: instance-admin-password: YOUR_PASSWORD_HERE # optional: # instance-admin-client-id: YOUR_CLIENT_ID # instance-admin-client-secret: YOUR_CLIENT_SECRET Then apply it: bash kubectl apply -f secret.yaml -n <YOUR_NAMESPACE> [[Deploy auth](https://docs.airbyte.com/platform/deploying-airbyte/integrations/authentication)] 2. Restart the airbyte-server pod so it picks up the new secret. [[Deploy auth](https://docs.airbyte.com/platform/deploying-airbyte/integrations/authentication)] 3. To read what Airbyte is currently using (and confirm), run: bash kubectl get secret airbyte-auth-secrets -n <YOUR_NAMESPACE> -o yaml Then base64‑decode `instance-admin-password`: bash echo '<base64-value>' | base64 -d [[Deploy auth](https://docs.airbyte.com/platform/deploying-airbyte/integrations/authentication)] Because of the chart bugs, changing global.auth.instanceAdmin.passwordSecretKey / secretName in values.yaml does not reliably work in chart versions noted in the GitHub issues. [[Helm password bug](https://github.com/airbytehq/airbyte/issues/65154); [passwordSecretKey issue](https://github.com/airbytehq/airbyte/issues/54685)] Recommended next steps for you 1. Ensure your password is set in airbyte-auth-secrets exactly under key instance-admin-password (stringData is easiest). 2. Redeploy or restart airbyte-server. 3. Try logging in with: - Username: the instance admin email currently configured/created, and - Password: the value from instance-admin-password in airbyte-auth-secrets. If you’re relying solely on global.auth.instanceAdmin.passwordSecretKey pointing to another Secret name/key, it will likely be ignored due to the current chart bug; use airbyte-auth-secrets instead.Ishan Anilbhai Koradiya
12/16/2025, 1:18 PMkapa.ai
12/16/2025, 1:18 PMkapa.ai
12/16/2025, 1:19 PMAuthorization headers to authenticate API calls to Airbyte. 1. How you get it You first exchange a client_id and client_secret (from an Application in the Airbyte UI) for an access token, e.g.: bash curl --request POST \ --url <https://api.airbyte.com/v1/applications/token> \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --data '{ "client_id": "<YOUR_CLIENT_ID>", "client_secret": "<YOUR_CLIENT_SECRET>", "grant-type": "client_credentials" }' The response contains: json { "access_token": "<YOUR_ACCESS_TOKEN>", "token_type": "Bearer", "expires_in": 900 } [[Next API token](https://docs.airbyte.com/platform/next/using-airbyte/configuring-api-access#step-2-get-an-access-token)] On self‑managed Enterprise 1.6–1.8 and “classic” docs the flow is the same (client ID + secret → POST /api/v1/applications/token → get back a Bearer token). [[1.8 API access](https://docs.airbyte.com/platform/1.8/enterprise-setup/api-access-config); [Using API access](https://docs.airbyte.com/platform/using-airbyte/configuring-api-access)] 2. How you use it On subsequent API calls you send it in the Authorization header: bash curl --request GET \ --url <YOUR_AIRBYTE_URL>/api/public/v1/workspaces \ --header "Authorization: Bearer <YOUR_ACCESS_TOKEN>" [[1.8 API access](https://docs.airbyte.com/platform/1.8/enterprise-setup/api-access-config)] The server validates that Bearer token and, if it’s valid and not expired, authorizes the request according to the permissions of the Application it was issued for. 3. Lifetime / rotation - In “Using Airbyte” docs, tokens are short‑lived (typically 3 minutes) and you should fetch a new token before each request or let the SDK/Terraform provider do it. [[Using API access](https://docs.airbyte.com/platform/using-airbyte/configuring-api-access)] - In some Enterprise versions, tokens are valid for up to 60 minutes. [[1.8 API access](https://docs.airbyte.com/platform/1.8/enterprise-setup/api-access-config)] So, the “Bearer” part is just the token type in the Authorization header; the value after it is the opaque access token you obtained from the /applications/token endpoint, and Airbyte uses that to authenticate and authorize your API calls.Ishan Anilbhai Koradiya
12/16/2025, 1:19 PMkapa.ai
12/16/2025, 1:19 PMkapa.ai
12/16/2025, 1:20 PMairbyte-auth-secrets), and - Optionally turning auth off via global.auth.enabled: false. [[Deploy auth](https://docs.airbyte.com/platform/deploying-airbyte/integrations/authentication)] There is no mention in the platform authentication docs of switching that login to HTTP Basic Auth, so based on the available documentation it is not supported for the UI/API login. Where you can use Basic Auth is: - In declarative/config-based connectors, via `BasicHttpAuthenticator`: yaml authenticator: type: "BasicHttpAuthenticator" username: "hello" password: "world" This sets an Authorization: Basic <base64(user:pass)> header on outgoing requests from the connector. [[YAML auth](https://docs.airbyte.com/platform/connector-development/config-based/understanding-the-yaml-file/authentication)] - In the Connector Builder UI, by choosing Basic HTTP under Authentication methods; it will handle the Authorization: Basic … header for you. [[Builder auth methods](https://docs.airbyte.com/platform/connector-development/connector-builder-ui/authentication#authentication-methods)] So: - For logging into Airbyte itself: docs only support the built-in auth (email + password from airbyte-auth-secrets) or disabling auth; Basic Auth is not documented as an option. [[Deploy auth](https://docs.airbyte.com/platform/deploying-airbyte/integrations/authentication)] - For calling external APIs from connectors: yes, you can use Basic Auth as shown above.