Skip to content

Commit 03e79c0

Browse files
authored
Remove JWE from Authorization header and from the request body. (#861)
The JWE should now be passed exclusively in X-Kaggle-Authorization header. http://b/148309982
1 parent 57ec3c9 commit 03e79c0

File tree

3 files changed

+14
-16
lines changed

3 files changed

+14
-16
lines changed

patches/kaggle_web_client.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,12 @@ def __init__(self):
3030
f'but none found in environment variable {_KAGGLE_USER_SECRETS_TOKEN_ENV_VAR_NAME}')
3131
self.headers = {
3232
'Content-type': 'application/json',
33-
'Authorization': f'Bearer {self.jwt_token}',
3433
'X-Kaggle-Authorization': f'Bearer {self.jwt_token}',
3534
}
3635

3736
def make_post_request(self, data: dict, endpoint: str, timeout: int = TIMEOUT_SECS) -> dict:
3837
url = f'{self.url_base}{endpoint}'
3938
request_body = dict(data)
40-
request_body['JWE'] = self.jwt_token
4139
req = urllib.request.Request(url, headers=self.headers, data=bytes(
4240
json.dumps(request_body), encoding="utf-8"))
4341
try:

tests/test_datasets.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,10 @@ def get_response(self):
8585
msg="Fake server did not receive a Content-Type header from the KaggleDatasets client.")
8686
self.assertEqual('application/json', headers.get('Content-Type'),
8787
msg="Fake server did not receive an application/json content type header from the KaggleDatasets client.")
88-
self.assertIn('Authorization', headers.keys(),
89-
msg="Fake server did not receive an Authorization header from the KaggleDatasets client.")
90-
self.assertEqual(f'Bearer {_TEST_JWT}', headers.get('Authorization'),
91-
msg="Fake server did not receive the right Authorization header from the KaggleDatasets client.")
88+
self.assertIn('X-Kaggle-Authorization', headers.keys(),
89+
msg="Fake server did not receive an X-Kaggle-Authorization header from the KaggleDatasets client.")
90+
self.assertEqual(f'Bearer {_TEST_JWT}', headers.get('X-Kaggle-Authorization'),
91+
msg="Fake server did not receive the right X-Kaggle-Authorization header from the KaggleDatasets client.")
9292

9393
def test_no_token_fails(self):
9494
env = EnvironmentVarGuard()
@@ -104,7 +104,7 @@ def call_get_gcs_path():
104104
self.assertEqual(gcs_path, _TPU_GCS_BUCKET)
105105
self._test_client(call_get_gcs_path,
106106
'/requests/CopyDatasetVersionToKnownGcsBucketRequest',
107-
{'MountSlug': None, 'IntegrationType': 2, 'JWE': _TEST_JWT},
107+
{'MountSlug': None, 'IntegrationType': 2},
108108
is_tpu=True)
109109

110110
def test_get_gcs_path_automl_succeeds(self):
@@ -114,7 +114,7 @@ def call_get_gcs_path():
114114
self.assertEqual(gcs_path, _AUTOML_GCS_BUCKET)
115115
self._test_client(call_get_gcs_path,
116116
'/requests/CopyDatasetVersionToKnownGcsBucketRequest',
117-
{'MountSlug': None, 'IntegrationType': 1, 'JWE': _TEST_JWT},
117+
{'MountSlug': None, 'IntegrationType': 1},
118118
is_tpu=False)
119119

120120
def test_get_gcs_path_handles_unsuccessful(self):
@@ -124,6 +124,6 @@ def call_get_gcs_path():
124124
gcs_path = client.get_gcs_path()
125125
self._test_client(call_get_gcs_path,
126126
'/requests/CopyDatasetVersionToKnownGcsBucketRequest',
127-
{'MountSlug': None, 'IntegrationType': 2, 'JWE': _TEST_JWT},
127+
{'MountSlug': None, 'IntegrationType': 2},
128128
is_tpu=True,
129129
success=False)

tests/test_user_secrets.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def call_get_secret():
9494
secret_response = client.get_secret("secret_label")
9595
self.assertEqual(secret_response, secret)
9696
self._test_client(call_get_secret,
97-
'/requests/GetUserSecretByLabelRequest', {'Label': "secret_label", 'JWE': _TEST_JWT},
97+
'/requests/GetUserSecretByLabelRequest', {'Label': "secret_label"},
9898
secret=secret)
9999

100100
def test_get_secret_handles_unsuccessful(self):
@@ -103,7 +103,7 @@ def call_get_secret():
103103
with self.assertRaises(BackendError):
104104
secret_response = client.get_secret("secret_label")
105105
self._test_client(call_get_secret,
106-
'/requests/GetUserSecretByLabelRequest', {'Label': "secret_label", 'JWE': _TEST_JWT},
106+
'/requests/GetUserSecretByLabelRequest', {'Label': "secret_label"},
107107
success=False)
108108

109109
def test_get_secret_validates_label(self):
@@ -122,7 +122,7 @@ def call_get_secret():
122122
secret_response = client.get_gcloud_credential()
123123
self.assertEqual(secret_response, secret)
124124
self._test_client(call_get_secret,
125-
'/requests/GetUserSecretByLabelRequest', {'Label': "__gcloud_sdk_auth__", 'JWE': _TEST_JWT},
125+
'/requests/GetUserSecretByLabelRequest', {'Label': "__gcloud_sdk_auth__"},
126126
secret=secret)
127127

128128
def test_get_gcloud_secret_handles_unsuccessful(self):
@@ -131,7 +131,7 @@ def call_get_secret():
131131
with self.assertRaises(NotFoundError):
132132
secret_response = client.get_gcloud_credential()
133133
self._test_client(call_get_secret,
134-
'/requests/GetUserSecretByLabelRequest', {'Label': "__gcloud_sdk_auth__", 'JWE': _TEST_JWT},
134+
'/requests/GetUserSecretByLabelRequest', {'Label': "__gcloud_sdk_auth__"},
135135
success=False)
136136

137137

@@ -150,10 +150,10 @@ def call_get_gcs_access_token():
150150
secret_response = client._get_gcs_access_token()
151151
self.assertEqual(secret_response, (secret, now + timedelta(seconds=3600)))
152152
self._test_client(call_get_bigquery_access_token,
153-
'/requests/GetUserSecretRequest', {'Target': GcpTarget.BIGQUERY.target, 'JWE': _TEST_JWT},
153+
'/requests/GetUserSecretRequest', {'Target': GcpTarget.BIGQUERY.target},
154154
secret=secret)
155155
self._test_client(call_get_gcs_access_token,
156-
'/requests/GetUserSecretRequest', {'Target': GcpTarget.GCS.target, 'JWE': _TEST_JWT},
156+
'/requests/GetUserSecretRequest', {'Target': GcpTarget.GCS.target},
157157
secret=secret)
158158

159159
def test_get_access_token_handles_unsuccessful(self):
@@ -162,4 +162,4 @@ def call_get_access_token():
162162
with self.assertRaises(BackendError):
163163
client.get_bigquery_access_token()
164164
self._test_client(call_get_access_token,
165-
'/requests/GetUserSecretRequest', {'Target': GcpTarget.BIGQUERY.target, 'JWE': _TEST_JWT}, success=False)
165+
'/requests/GetUserSecretRequest', {'Target': GcpTarget.BIGQUERY.target}, success=False)

0 commit comments

Comments
 (0)