4141from aws_advanced_python_wrapper .utils .properties import (Properties ,
4242 WrapperProperties )
4343from aws_advanced_python_wrapper .utils .rdsutils import RdsUtils
44+ from aws_advanced_python_wrapper .utils .token_utils import TokenUtils
45+ from aws_advanced_python_wrapper .utils .rds_token_utils import RDSTokenUtils
4446
4547logger = Logger (__name__ )
4648
@@ -51,12 +53,13 @@ class OktaAuthPlugin(Plugin):
5153 _rds_utils : RdsUtils = RdsUtils ()
5254 _token_cache : Dict [str , TokenInfo ] = {}
5355
54- def __init__ (self , plugin_service : PluginService , credentials_provider_factory : CredentialsProviderFactory , session : Optional [Session ] = None ):
56+ def __init__ (self , plugin_service : PluginService , credentials_provider_factory : CredentialsProviderFactory , token_utils : TokenUtils , session : Optional [Session ] = None ):
5557 self ._plugin_service = plugin_service
5658 self ._credentials_provider_factory = credentials_provider_factory
5759 self ._session = session
5860
5961 self ._region_utils = RegionUtils ()
62+ self ._token_utils = token_utils
6063 telemetry_factory = self ._plugin_service .get_telemetry_factory ()
6164 self ._fetch_token_counter = telemetry_factory .create_counter ("okta.fetch_token.count" )
6265 self ._cache_size_gauge = telemetry_factory .create_gauge ("okta.token_cache.size" , lambda : len (OktaAuthPlugin ._token_cache ))
@@ -140,7 +143,7 @@ def _update_authentication_token(self,
140143 port : int = IamAuthUtils .get_port (props , host_info , self ._plugin_service .database_dialect .default_port )
141144 credentials : Optional [Dict [str , str ]] = self ._credentials_provider_factory .get_aws_credentials (region , props )
142145
143- token : str = IamAuthUtils .generate_authentication_token (
146+ token : str = self . _token_utils .generate_authentication_token (
144147 self ._plugin_service ,
145148 user ,
146149 host_info .host ,
@@ -228,7 +231,7 @@ def get_saml_assertion(self, props: Properties):
228231
229232class OktaAuthPluginFactory (PluginFactory ):
230233 def get_instance (self , plugin_service : PluginService , props : Properties ) -> Plugin :
231- return OktaAuthPlugin (plugin_service , self .get_credentials_provider_factory (plugin_service , props ))
234+ return OktaAuthPlugin (plugin_service , self .get_credentials_provider_factory (plugin_service , props ), RDSTokenUtils () )
232235
233236 def get_credentials_provider_factory (self , plugin_service : PluginService , props : Properties ) -> OktaCredentialsProviderFactory :
234237 return OktaCredentialsProviderFactory (plugin_service , props )
0 commit comments