You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONNECTION_PARAMETERS.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,6 +73,11 @@ to change without notice.
73
73
|`oauth_client_id` (U2M) |`str`| ✅ | ✅ | built-in client id | Custom U2M client id. Forwarded on both; when absent, each path applies its own built-in default. |
74
74
|`oauth_redirect_port` (U2M) |`int`| ✅ | ✅ |`None`| Localhost redirect port for the browser flow. On **both** backends it is only honored when a custom `oauth_client_id` is also supplied — then that single port becomes the redirect URI. With the built-in client id (or when omitted) the connector uses the full registered range 8020–8024 and binds the first free port, so a bare `oauth_redirect_port` has no effect. (Thrift: `auth.py``oauth_redirect_port_range`; Kernel: same logic, forwarded as `redirect_ports`.) |
75
75
|`oauth_client_secret` (OAuth M2M) |`str`| ❌ | ✅ |`None`|**Kernel-only in practice.** The Thrift auth path never reads `oauth_client_secret`; use `credentials_provider` or an Azure service principal for M2M on Thrift. |
76
+
|`oauth_jwt_key_file` (OAuth M2M, JWT private key) |`str`| ❌ | ✅ |`None`|**Kernel-only.** Path to the PEM private key for JWT private-key M2M (RFC 7523 client assertion). Supplying it selects the JWT flow: the kernel signs a short-lived assertion with the key instead of sending a client secret. Requires `oauth_client_id` + `oauth_jwt_kid`; mutually exclusive with `oauth_client_secret` / `credentials_provider`. |
77
+
|`oauth_jwt_kid` (OAuth M2M, JWT private key) |`str`| ❌ | ✅ |`None`|**Kernel-only.** Key id written into the JWT header so the IdP can select the registered public key. Required with `oauth_jwt_key_file`. (For Entra ID this is the certificate's `x5t` thumbprint.) |
78
+
|`oauth_jwt_passphrase` (OAuth M2M, JWT private key) |`str`| ❌ | ✅ |`None`|**Kernel-only.** Passphrase for an encrypted PKCS#8 private key; omit for an unencrypted key. |
|`token_url` (OAuth M2M) |`str`| ❌ | ✅ |`None` ⇒ OIDC discovery |**Kernel-only.** OAuth IdP token endpoint override. Required for JWT M2M against an external-IdP-backed workspace (e.g. Entra ID for Azure Databricks), since Databricks-native OIDC does not advertise the `private_key_jwt` method. Applies to shared-secret M2M too. |
76
81
|`oauth_scopes`|`List[str]`| ❌ | ✅ |`["sql","offline_access"]`|**Thrift ignores custom scopes** — it always uses the built-in scope set. Only the kernel honors a custom `oauth_scopes`. |
77
82
|`credentials_provider`|`CredentialsProvider`| ✅ | ❌ |`None`| Custom external credentials provider. **Rejected on the kernel path** (`NotSupportedError`) — it is an opaque token source, so the kernel cannot own the token lifecycle; use `oauth_client_id` + `oauth_client_secret` for M2M, or the Thrift backend. |
78
83
|`identity_federation_client_id`|`str`| ✅ | ✅ |`None`| Workload identity / token-federation client id (kernel support added in #910). |
0 commit comments