From 6ced5fcfb066b6bb36495471d334a2a804f1729f Mon Sep 17 00:00:00 2001 From: Benedikt Kulmann Date: Fri, 5 Nov 2021 13:34:43 +0100 Subject: [PATCH] Fix option type for public token --- packages/web-app-external/src/App.vue | 11 +++++++---- .../src/helpers/download/downloadAsArchive.ts | 6 +++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/web-app-external/src/App.vue b/packages/web-app-external/src/App.vue index d5fa4375db1..4e7c51fb66e 100644 --- a/packages/web-app-external/src/App.vue +++ b/packages/web-app-external/src/App.vue @@ -91,9 +91,11 @@ export default { await unauthenticatedUserReady(this.$router, this.$store) this.loading = true - const publicLinkPassword = this.publicLinkPassword + + // build headers with respect to the actual auth situation const { 'public-token': publicToken } = this.$route.query - const token = this.getToken + const publicLinkPassword = this.publicLinkPassword + const accessToken = this.getToken const headers = { 'X-Requested-With': 'XMLHttpRequest', ...(publicToken && { 'public-token': publicToken }), @@ -101,11 +103,12 @@ export default { Authorization: 'Basic ' + Buffer.from(['public', publicLinkPassword].join(':')).toString('base64') }), - ...(token && { - Authorization: 'Bearer ' + token + ...(accessToken && { + Authorization: 'Bearer ' + accessToken }) } + // fetch iframe params for app and file const configUrl = this.configuration.server const appOpenUrl = this.capabilities.files.app_providers[0].open_url.replace('/app', 'app') const url = configUrl + appOpenUrl + '?file_id=' + this.fileId + '&app_name=' + this.appName diff --git a/packages/web-app-files/src/helpers/download/downloadAsArchive.ts b/packages/web-app-files/src/helpers/download/downloadAsArchive.ts index da8eafddd22..5f48b313ad2 100644 --- a/packages/web-app-files/src/helpers/download/downloadAsArchive.ts +++ b/packages/web-app-files/src/helpers/download/downloadAsArchive.ts @@ -12,7 +12,7 @@ interface TriggerDownloadAsArchiveOptions { fileIds: string[] archiverService?: ArchiverService clientService?: ClientService - publicToken?: ClientService + publicToken?: string } export const triggerDownloadAsArchive = async ( @@ -35,8 +35,8 @@ export const triggerDownloadAsArchive = async ( } const queryParams = [ - ...options.fileIds.map((id) => `id=${id}`), - options.publicToken ? `public-token=${options.publicToken}` : '' + options.publicToken ? `public-token=${options.publicToken}` : '', + ...options.fileIds.map((id) => `id=${id}`) ].filter(Boolean) const archiverUrl = archiverService.url + '?' + queryParams.join('&')