From d977ce44d58fca67ddf3f6bf81e1613380dc86b0 Mon Sep 17 00:00:00 2001 From: raghav1674 Date: Thu, 8 Aug 2024 01:30:39 +0530 Subject: [PATCH] include cert_bundle in session refresh requests fixes #835 Signed-off-by: raghav1674 --- src/oci_cli/cli_session.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/oci_cli/cli_session.py b/src/oci_cli/cli_session.py index 8405b2cae..ad3455de3 100644 --- a/src/oci_cli/cli_session.py +++ b/src/oci_cli/cli_session.py @@ -230,16 +230,26 @@ def refresh(ctx): refresh_url = "{endpoint}/v1/authentication/refresh".format(endpoint=oci.regions.endpoint_for("auth", client_config.get('region'))) click.echo("Attempting to refresh token from {refresh_url}".format(refresh_url=refresh_url), file=sys.stderr) - response = requests.post( - refresh_url, - headers={ + request_params = { + 'url': refresh_url, + 'headers': { 'content-type': 'application/json' }, - data=json.dumps({ + 'data': json.dumps({ 'currentToken': token }), - auth=auth - ) + 'auth': auth + } + + cert_bundle = ctx.obj.get('cert_bundle') + if cert_bundle: + cert_bundle = os.path.expanduser(cert_bundle) + if not os.path.isfile(cert_bundle): + raise click.BadParameter(param_hint='cert_bundle', message='Cannot find cert_bundle file: {}'.format(cert_bundle)) + + request_params['verify'] = os.path.expanduser(cert_bundle) + + response = requests.post(**request_params) if response.status_code == 200: refreshed_token = json.loads(response.content.decode('UTF-8'))['token']