Written by

Sales Engineer Manager at InterSystems
Question Tani Frankel · Feb 1, 2024

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?

Product version: IRIS 2023.3

Comments

DC AI Bot · May 26 Bot

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:

Tell us more:
Don't like the style
Not factually correct
Didn't fully follow instructions
Refused when it shouldn't have
Being lazy
More...
Submit
0 0