diff --git a/packages/backend/src/routes/music.ts b/packages/backend/src/routes/music.ts index b6c11d4..38a0521 100644 --- a/packages/backend/src/routes/music.ts +++ b/packages/backend/src/routes/music.ts @@ -235,10 +235,11 @@ router.get('/:id/stream', async (req, res) => { return res.status(404).json({ error: 'Music file not found' }); } - const streamingUrl = await s3Service.getStreamingUrl(musicFile.s3Key); + // Use presigned URL for secure access instead of direct URL + const presignedUrl = await s3Service.getPresignedUrl(musicFile.s3Key, 3600); // 1 hour expiry res.json({ - streamingUrl, + streamingUrl: presignedUrl, musicFile, }); } catch (error) { diff --git a/packages/frontend/src/components/MusicPlayer.tsx b/packages/frontend/src/components/MusicPlayer.tsx index 0c75370..dfdf1f9 100644 --- a/packages/frontend/src/components/MusicPlayer.tsx +++ b/packages/frontend/src/components/MusicPlayer.tsx @@ -185,7 +185,7 @@ export const MusicPlayer: React.FC = ({ } return ( - + {/* Audio element */}