diff --git a/wrapper/src/main/java/software/amazon/jdbc/plugin/federatedauth/FederatedAuthPlugin.java b/wrapper/src/main/java/software/amazon/jdbc/plugin/federatedauth/FederatedAuthPlugin.java index 662237182..0bcf4a0ec 100644 --- a/wrapper/src/main/java/software/amazon/jdbc/plugin/federatedauth/FederatedAuthPlugin.java +++ b/wrapper/src/main/java/software/amazon/jdbc/plugin/federatedauth/FederatedAuthPlugin.java @@ -215,6 +215,9 @@ private Connection connectInternal(final HostSpec hostSpec, final Properties pro try { return connectFunc.call(); } catch (final SQLException exception) { + if (!isCachedToken || !this.pluginService.isLoginException(exception)) { + throw exception; + } updateAuthenticationToken(hostSpec, props, region, cacheKey, host); return connectFunc.call(); } catch (final Exception exception) { diff --git a/wrapper/src/main/java/software/amazon/jdbc/plugin/federatedauth/OktaAuthPlugin.java b/wrapper/src/main/java/software/amazon/jdbc/plugin/federatedauth/OktaAuthPlugin.java index 13ef644a9..2b3b5b037 100644 --- a/wrapper/src/main/java/software/amazon/jdbc/plugin/federatedauth/OktaAuthPlugin.java +++ b/wrapper/src/main/java/software/amazon/jdbc/plugin/federatedauth/OktaAuthPlugin.java @@ -187,6 +187,9 @@ private Connection connectInternal(final HostSpec hostSpec, final Properties pro try { return connectFunc.call(); } catch (final SQLException exception) { + if (!isCachedToken || !this.pluginService.isLoginException(exception)) { + throw exception; + } updateAuthenticationToken(hostSpec, props, region, cacheKey, host); return connectFunc.call(); } catch (final Exception exception) {