From 4c7f9cf8d84bc11f6d1883ded61735f60cb8418d Mon Sep 17 00:00:00 2001 From: Ralph Broenink Date: Tue, 30 Apr 2019 20:45:49 +0200 Subject: [PATCH] Ensure no incorrect padding errors occur in PY3 --- config/kube_config.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/config/kube_config.py b/config/kube_config.py index 9ca869c8..320aa03d 100644 --- a/config/kube_config.py +++ b/config/kube_config.py @@ -282,9 +282,10 @@ def _load_oid_token(self, provider): if len(parts) != 3: # Not a valid JWT return None + # Adding == to ensure sufficient padding. Extra padding is ignored by Python if PY3: jwt_attributes = json.loads( - base64.b64decode(parts[1]).decode('utf-8') + base64.b64decode(parts[1] + "==").decode('utf-8') ) else: jwt_attributes = json.loads( @@ -311,9 +312,10 @@ def _refresh_oidc(self, provider): if 'idp-certificate-authority-data' in provider['config']: ca_cert = tempfile.NamedTemporaryFile(delete=True) + # Adding == to ensure sufficient padding. Extra padding is ignored by Python if PY3: cert = base64.b64decode( - provider['config']['idp-certificate-authority-data'] + provider['config']['idp-certificate-authority-data'] + "==" ).decode('utf-8') else: cert = base64.b64decode(