From 3ae5adc7ba9c9698a12018a1c9dd9ea47cb08fb1 Mon Sep 17 00:00:00 2001 From: wvffle Date: Sat, 29 Oct 2022 06:09:07 +0000 Subject: [PATCH] Fix playback of some token protected resources --- front/src/composables/audio/tracks.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/front/src/composables/audio/tracks.ts b/front/src/composables/audio/tracks.ts index 4848e1325..4b9276a2a 100644 --- a/front/src/composables/audio/tracks.ts +++ b/front/src/composables/audio/tracks.ts @@ -19,10 +19,21 @@ const soundPromises = new Map>() const soundCache = useLRUCache({ max: 10 }) const getTrackSources = (track: QueueTrack): QueueTrackSource[] => { + const token = store.state.auth.authenticated && store.state.auth.scopedTokens.listen + const appendToken = (url: string) => { + if (token) { + const newUrl = new URL(url) + newUrl.searchParams.set('token', token) + return newUrl.toString() + } + + return url + } + const sources: QueueTrackSource[] = track.sources .map((source) => ({ ...source, - url: store.getters['instance/absoluteUrl'](source.url) as string + url: appendToken(store.getters['instance/absoluteUrl'](source.url)) })) // NOTE: Add a transcoded MP3 src at the end for browsers