|
57 | 57 | _logger: logging.Logger = logging.getLogger(__name__) |
58 | 58 |
|
59 | 59 | IDC_PLUGINS_LIST = ( |
| 60 | + "redshift_connector.plugin.BrowserIdcAuthPlugin", |
| 61 | + "BrowserIdcAuthPlugin", |
60 | 62 | "redshift_connector.plugin.IdpTokenAuthPlugin", |
61 | 63 | "IdpTokenAuthPlugin", |
62 | 64 | ) |
|
65 | 67 | "BrowserAzureOAuth2CredentialsProvider", |
66 | 68 | "redshift_connector.plugin.BasicJwtCredentialsProvider", |
67 | 69 | "BasicJwtCredentialsProvider", |
| 70 | + "redshift_connector.plugin.BrowserIdcAuthPlugin", |
| 71 | + "BrowserIdcAuthPlugin", |
68 | 72 | "redshift_connector.plugin.IdpTokenAuthPlugin", |
69 | 73 | "IdpTokenAuthPlugin", |
70 | 74 | ) |
@@ -158,6 +162,9 @@ def connect( |
158 | 162 | serverless_work_group: typing.Optional[str] = None, |
159 | 163 | group_federation: typing.Optional[bool] = None, |
160 | 164 | identity_namespace: typing.Optional[str] = None, |
| 165 | + idc_client_display_name: typing.Optional[str] = None, |
| 166 | + idc_region: typing.Optional[str] = None, |
| 167 | + issuer_url: typing.Optional[str] = None, |
161 | 168 | token: typing.Optional[str] = None, |
162 | 169 | token_type: typing.Optional[str] = None, |
163 | 170 | ) -> Connection: |
@@ -265,6 +272,12 @@ def connect( |
265 | 272 | Use the IDP Groups in the Redshift. Default value False. |
266 | 273 | identity_namespace: Optional[str] |
267 | 274 | The identity namespace to be used with IdC auth plugin. Default value is None. |
| 275 | + idc_client_display_name: Optional[str] |
| 276 | + The client display name to be used in user consent in IdC browser auth. Default value is `Amazon Redshift Python connector`. |
| 277 | + idc_region: Optional[str] |
| 278 | + The AWS region where IdC instance is located. Default value is None. |
| 279 | + issuer_url: Optional[str] |
| 280 | + The issuer url for the AWS IdC access portal. Default value is None. |
268 | 281 | token: Optional[str] |
269 | 282 | The access token to be used with IdC basic credentials provider plugin. Default value is None. |
270 | 283 | token_type: Optional[str] |
@@ -296,10 +309,13 @@ def connect( |
296 | 309 | info.put("host", host) |
297 | 310 | info.put("iam", iam) |
298 | 311 | info.put("iam_disable_cache", iam_disable_cache) |
| 312 | + info.put("idc_client_display_name", idc_client_display_name) |
| 313 | + info.put("idc_region", idc_region) |
299 | 314 | info.put("identity_namespace", identity_namespace) |
300 | 315 | info.put("idp_host", idp_host) |
301 | 316 | info.put("idp_response_timeout", idp_response_timeout) |
302 | 317 | info.put("idp_tenant", idp_tenant) |
| 318 | + info.put("issuer_url", issuer_url) |
303 | 319 | info.put("is_serverless", is_serverless) |
304 | 320 | info.put("listen_port", listen_port) |
305 | 321 | info.put("login_url", login_url) |
@@ -398,6 +414,7 @@ def connect( |
398 | 414 | numeric_to_float=info.numeric_to_float, |
399 | 415 | identity_namespace=info.identity_namespace, |
400 | 416 | token_type=info.token_type, |
| 417 | + idc_client_display_name=info.idc_client_display_name, |
401 | 418 | ) |
402 | 419 |
|
403 | 420 |
|
|
0 commit comments