Skip to content

Commit

Permalink
fix: ensure valid_until is integer in secured Algolia api key
Browse files Browse the repository at this point in the history
  • Loading branch information
adamstankiewicz committed Mar 6, 2025
1 parent 1d990b0 commit ef185a5
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions enterprise_catalog/apps/api_client/algolia.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,17 +228,16 @@ def generate_secured_api_key(self, user_id, enterprise_catalog_query_uuids):
)

expiration_time = getattr(settings, 'SECURED_ALGOLIA_API_KEY_EXPIRATION', 3600) # Default to 1 hour
valid_until = localized_utcnow() + timedelta(seconds=expiration_time)
iso_format = "%Y-%m-%dT%H:%M:%SZ"
valid_until_iso = valid_until.strftime(iso_format)
valid_until_dt = localized_utcnow() + timedelta(seconds=expiration_time)
valid_until_unix = int(valid_until_dt.timestamp())
catalog_query_filter = ' OR '.join(
[f'enterprise_catalog_query_uuids:{query_uuid}' for query_uuid in enterprise_catalog_query_uuids]
)

# Base secured API key restrictions
restrictions = {
'filters': catalog_query_filter,
'validUntil': valid_until,
'validUntil': valid_until_unix,
'userToken': user_id,
}

Expand All @@ -263,6 +262,8 @@ def generate_secured_api_key(self, user_id, enterprise_catalog_query_uuids):
raise exc

# Return secured api key and expiration time
iso_format = "%Y-%m-%dT%H:%M:%SZ"
valid_until_iso = valid_until_dt.strftime(iso_format)
return {
'secured_api_key': secured_api_key,
'valid_until': valid_until_iso,
Expand Down

0 comments on commit ef185a5

Please sign in to comment.