OAuth Authentication for ODBC/JDBC?
Is it possible to authenticate an xDBC (ODBC/JDBC) connection to InterSystems IRIS via (a 3rd party) OAuth server?
For REST APIs this is possible, but could this be achieved with OAuth?
Out-of-the-box the ODBC/JDBC Drivers don't seem to have this option, but maybe some custom code could enable this? perhaps via Delegated Authentication and some OAuth classes customization, or some other way?
Has anyone done this already and can share how it was implemented, or someone with some guideline suggestions?
Comments
Yes — there is evidence that OAuth for JDBC/ODBC is supported, but the support appears to be tied to newer IRIS functionality rather than the older delegated-authentication-only approach. [1][2]
The clearest statement is that InterSystems IRIS 2025.2.0 introduces these changes: “OAuth2 is now a native authentication type” and “You can now use JDBC and ODBC to authenticate to InterSystems IRIS with access tokens.” [2]
The retrieved material also shows how that looks from the client side:
- For JDBC, an access token can be set on the datasource with
ds.setAccessToken("..."), and this “overwrites username/password”. [1] - For ODBC, the connection string can use
ACCESSTOKEN=..., which “replaces UID/PWD parameters”. [1]
The same source states that IRIS OAuth client/resource-server capabilities can integrate with external OAuth providers, including “Okta, Azure AD, Auth0”, and mentions “token validation and introspection (RFC 7662)” for incoming tokens. That supports your specific requirement of using a 3rd-party OAuth server rather than only an IRIS-local one. [1]
For older approaches, the material about OAuth and delegated authentication is focused on CSP/REST-style application flows, where delegated authentication can be used as an alternative for web applications and resource servers. It does not describe a custom delegated-authentication path for xDBC clients. [3][4][5]
So, based on the retrieved documents:
- OAuth authentication for JDBC/ODBC is possible in newer IRIS versions using access tokens. [1][2]
- External OAuth providers are part of the supported OAuth integration model. [1]
- The documents retrieved do not provide an implementation pattern showing custom delegated authentication for xDBC as a workaround, nor an example from someone who already implemented that custom path. [3][4][5]
Note: “You can now use JDBC and ODBC to authenticate to InterSystems IRIS with access tokens.” [2]
Sources: