-
-
Notifications
You must be signed in to change notification settings - Fork 194
Description
EDIT: THE BELOW BUG REPORT IS SOLVED AND NOW IT IS A DOCS ENHANCEMENT ISSUE. SEE FINAL COMMENT FOR INFO
Description
Supabase Storage currently uses a JWT-based token system for presigned URLs, which differs from the AWS S3 standard that uses AWSAccessKeyId, Signature, and Expires query parameters. This makes it difficult to integrate applications that expect AWS-style presigned URLs.
Steps to Reproduce
Generate a presigned URL for a Supabase storage object.
Compare it with an AWS S3-style presigned URL, which includes AWSAccessKeyId, Signature, and Expires.
Attempt to use an AWS-compatible library to fetch the object using the Supabase URL (it fails).
Expected Behavior
Supabase should provide an AWS S3-style presigned URL that can be loaded into a video element on the web client.
Actual Behavior
After communicating with Supabase, boto3 produces an AWS S3-style presigned URL but it cannot be loaded into the video element. A JWT-based presigned URL does work.
Workarounds & Challenges
Use the Supabase-specific storage/v1/object/sign API, but this requires implementing custom logic for handling tokens instead of using AWS SDKs directly.
Environment
Python 3.9.19
boto3 1.7.84
Developing on git bash, I don't think that matters though
Additional Context
see def get_videos()
in
stephengpope/no-code-architects-toolkit@9723bfe
This feature would help users migrate from AWS S3 to Supabase Storage without breaking existing integrations.